跳到主要内容
版本:v6.x

如何修改主控端口号

主控与节点之间的通讯端口默认是 88。默认端口容易被恶意扫描探测到主控,可以按以下顺序修改:先改节点,再改主控,避免节点断连。

1. 后台批量修改节点上的主控端口

登录主控后台,进入"系统管理"→"维护升级"→"维护操作"选项卡,在"节点设置"中勾选"节点配置的主控端口",输入新端口(示例 2345),输入当前管理员密码,点击"创建设置任务"→"查看任务",等全部节点执行成功。

维护操作 - 节点设置:勾选节点配置的主控端口并输入新端口

2. 修改主控服务器通讯端口

上一步全部成功后,登录主控服务器,用 root 执行。把 2345 换成同一个新端口:

bash -s <<'CDNFLY_MASTER_PORT'
new_port="2345"

set -euo pipefail

conf="/opt/cdnfly-go/conf/config.yaml"

test -f "$conf"
cp -a "$conf" "$conf.$(date +%Y%m%d%H%M%S).bak"

sed -i "/^ master:/,/^ [a-z]/ s|^ addr:.*| addr: :$new_port|" "$conf"

systemctl restart master-api.service
systemctl is-active master-api.service
ss -tlnp | grep ":$new_port "
CDNFLY_MASTER_PORT

同时记得在防火墙 / 安全组中放行新端口,旧端口确认无业务后再关闭。

3. 手动修改失败节点的主控端口

如果第 1 步有节点执行失败,登录这些节点,用 root 执行:

bash -s <<'CDNFLY_NODE_PORT'
new_port="2345"

set -euo pipefail

conf="/opt/cdnfly-go/agent/conf/config.yaml"

test -f "$conf"
cp -a "$conf" "$conf.$(date +%Y%m%d%H%M%S).bak"

sed -i "/^master:/,/^[^[:space:]]/ s|^\([[:space:]]*\)port:.*|\1port: \"$new_port\"|" "$conf"

systemctl restart agent-socket.service agent-task.service
systemctl is-active agent-socket.service agent-task.service
CDNFLY_NODE_PORT

检查结果

# 主控:确认新端口在监听
ss -tlnp | grep master-api

# 节点:确认端口已改
grep -A3 '^master:' /opt/cdnfly-go/agent/conf/config.yaml

确认主控后台中节点全部在线即可。