当前位置:论坛首页 > BUG提交 > Linux面板

【已奖励宝塔币200个】 宝塔面板更改端口命令无效

发表在 BUG提交2019-1-12 20:23 [复制链接] 2 8706

系统版本 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
更改前执行
[root@iZj6c4r9l2g701ptov0y0kZ ~]#  systemctl restart firewalld.service
[root@iZj6c4r9l2g701ptov0y0kZ ~]#  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


得到防火墙开放端口列表
执行命令
[root@iZj6c4r9l2g701ptov0y0kZ ~]# 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
[root@iZj6c4r9l2g701ptov0y0kZ ~]#

显示面板端口已经改为8881 访问http://xxx.xxx.xxx.xxx:8881
发现无法访问.怀疑更改端口没有成功
执行
[root@iZj6c4r9l2g701ptov0y0kZ ~]# cat /www/server/panel/data/port.pl
8881
[root@iZj6c4r9l2g701ptov0y0kZ ~]#

说明端口应该更改成功了,怀疑面板没有重启
执行
[root@iZj6c4r9l2g701ptov0y0kZ ~]# /etc/init.d/bt restart
Stopping Bt-Tasks... done
Stopping Bt-Panel... done
Starting Bt-Panel... done
Starting Bt-Tasks... done
[root@iZj6c4r9l2g701ptov0y0kZ ~]#


面板重启,继续访问 访问http://xxx.xxx.xxx.xxx:8881
怀疑是防火墙出现问题
重启防火墙,显示防火墙端口
[root@iZj6c4r9l2g701ptov0y0kZ ~]# systemctl restart firewalld.service
[root@iZj6c4r9l2g701ptov0y0kZ ~]#  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
[root@iZj6c4r9l2g701ptov0y0kZ ~]#

发现防火墙并没有添加 8881端口
手动添加端口
[root@iZj6c4r9l2g701ptov0y0kZ ~]# firewall-cmd  --add-port=8881/tcp --permanent  
success
[root@iZj6c4r9l2g701ptov0y0kZ ~]# firewall-cmd  --add-port=8881/udp --permanent  
success
[root@iZj6c4r9l2g701ptov0y0kZ ~]# systemctl restart firewalld.service

访问正常




使用道具 举报 只看该作者 回复
发表于 2019-1-13 02:41:08 | 显示全部楼层
昨晚在插件开发群中讨论。
现总结问题如下
1.官方btcode.html中所写的方法只是向port.pl中写入了新端口号,并没有考虑防火墙的问题
2.官方bt 命令指向的tools.py脚本中更改端口的函数存在逻辑bug。更改端口后应该自动重启面板
3.官方并未考虑更改端口后原端口的去留。
修复方案:
1.建议修改宝塔官网的btcode.html
2.tools.py 的497 需要新增一条重启宝塔面板的命令
3.建议更换防火墙端口后能够删除原有的旧端口。
使用道具 举报 回复 支持 反对
发表于 2019-1-14 09:36:06 | 显示全部楼层
您好,感谢反馈,
1、通过面板设置修改的端口测试有效
2、通过bt命令修改端口确实没有重启面板,导致无法生效
3、未处理原端口是考虑到可能更改失败的情况,用户手动确认没问题后,用户可到安全页面将原端口删除。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析
快速回复 返回顶部 返回列表