如何修改主控端口号
主控与节点之间的通讯端口默认是 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
确认主控后台中节点全部在线即可。