【已奖励宝塔币200个】 宝塔面板更改端口命令无效
系统版本 CentOS Linux 7.6.1810 (Core)宝塔版本 6.8.11
浏览器版本 Chrome 70.0.3538.77
按照官网说明https://www.bt.cn/btcode.html 写到 centos7 下更换面板端口命令为
echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart
原面板端口 8008 计划更改后 8881
更改前执行
#systemctl restart firewalld.service
#firewall-cmd --zone=public --list-ports
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp 8008/tcp 8008/udp 8001/tcp 8001/udp
得到防火墙开放端口列表
执行命令
# echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart
Stopping Bt-Tasks... done
Stopping Bt-Panel... done
Starting Bt-Panel... done
Starting Bt-Tasks... done
#
显示面板端口已经改为8881 访问http://xxx.xxx.xxx.xxx:8881
发现无法访问.怀疑更改端口没有成功
执行
# cat /www/server/panel/data/port.pl
8881
#
说明端口应该更改成功了,怀疑面板没有重启
执行
# /etc/init.d/bt restart
Stopping Bt-Tasks... done
Stopping Bt-Panel... done
Starting Bt-Panel... done
Starting Bt-Tasks... done
#
面板重启,继续访问 访问http://xxx.xxx.xxx.xxx:8881
怀疑是防火墙出现问题
重启防火墙,显示防火墙端口
# systemctl restart firewalld.service
#firewall-cmd --zone=public --list-ports
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp 8008/tcp 8008/udp 8001/tcp 8001/udp
#
发现防火墙并没有添加 8881端口
手动添加端口
# firewall-cmd--add-port=8881/tcp --permanent
success
# firewall-cmd--add-port=8881/udp --permanent
success
# systemctl restart firewalld.service
访问正常
昨晚在插件开发群中讨论。
现总结问题如下
1.官方btcode.html中所写的方法只是向port.pl中写入了新端口号,并没有考虑防火墙的问题
2.官方bt 命令指向的tools.py脚本中更改端口的函数存在逻辑bug。更改端口后应该自动重启面板
3.官方并未考虑更改端口后原端口的去留。
修复方案:
1.建议修改宝塔官网的btcode.html
2.tools.py 的497 需要新增一条重启宝塔面板的命令
3.建议更换防火墙端口后能够删除原有的旧端口。 您好,感谢反馈,
1、通过面板设置修改的端口测试有效
2、通过bt命令修改端口确实没有重启面板,导致无法生效
3、未处理原端口是考虑到可能更改失败的情况,用户手动确认没问题后,用户可到安全页面将原端口删除。
页:
[1]