宝塔面板绑定非80端口需五步:一、网站设置中修改域名加端口并调整listen指令;二、Nginx主配置启用多端口监听;三、用反向代理映射后端服务;四、开放系统及云服务器防火墙端口;五、禁用面板端口限制检测。

如果您在宝塔面板中已添加网站,但希望将该网站绑定到非80端口(如8080、8888等),而非默认的HTTP 80端口或HTTPS 443端口,则需手动调整网站配置中的监听端口及Nginx/Apache规则。以下是具体操作步骤:
一、通过网站设置修改监听端口
宝塔面板默认仅允许80/443端口直接绑定域名,若需使用其他端口,需先在网站配置中启用对应端口监听,并确保防火墙放行。此方法适用于Nginx环境,且不依赖反向代理。
1、登录宝塔面板,进入【网站】页面,找到目标站点,点击右侧【设置】按钮。
2、在弹出窗口中切换至【域名管理】选项卡,将原域名后缀添加端口号,例如将example.com改为example.com:8080,然后点击【提交】。
3、返回【网站】列表,点击该站点右侧【SSL】,关闭强制HTTPS跳转(若开启),避免因HTTPS重定向导致非443端口访问失败。
4、点击【配置文件】选项卡,在配置文件顶部找到listen指令行,将listen 80;修改为listen 8080;(根据实际需求替换为其他端口)。
5、保存配置文件,随后点击【重启】按钮使Nginx重新加载配置。
二、通过Nginx主配置启用多端口监听
当多个网站需共用同一非标准端口,或需全局启用某端口监听时,需在Nginx主配置中显式声明该端口。此操作影响所有站点,需谨慎验证端口占用情况。
1、进入宝塔面板【软件商店】→ 找到已安装的Nginx → 点击【设置】→【配置修改】。
2、在http {块内,查找是否存在include包含语句,确认未被注释;若无,则在http {下方新增一行:include /www/server/panel/vhost/nginx/port_*.conf;(如不存在该行)。
3、使用宝塔文件管理器,进入目录/www/server/panel/vhost/nginx/,新建文件port_8080.conf(端口号需与文件名一致)。
4、在该文件中写入监听配置:server { listen 8080; server_name _; return 444; },保存后重启Nginx服务。
三、通过反向代理方式映射非80端口服务
当后端应用(如Node.js、Python Flask)已在服务器本地监听非80端口(如3000),可通过宝塔反向代理功能,将域名请求转发至该端口。此方式无需修改网站主配置,适合开发调试场景。
1、在目标站点的【设置】页面中,切换至【反向代理】选项卡,点击【添加反向代理】。
2、代理名称填写有意义的标识,如node_app_3000;目标URL填写http://127.0.0.1:3000(确保IP和端口与后端服务一致)。
3、勾选【启用代理Websocket】(若后端支持WebSocket连接);取消勾选【缓存」(避免静态资源缓存干扰调试)。
4、点击【提交】,系统自动生成代理规则;随后检查【配置文件】中是否新增location / { proxy_pass http://127.0.0.1:3000; ... }段落。
5、确认后端服务正在运行:执行命令 systemctl status your-node-service 或 netstat -tuln | grep :3000 验证端口监听状态。
四、开放服务器防火墙端口
即使Nginx已监听指定端口,若系统防火墙(如firewalld或iptables)未放行该端口,外部请求仍会被拦截。必须同步配置防火墙规则。
1、进入宝塔面板【安全】页面,确认防火墙状态为【已启动】。
2、在【放行端口】输入框中,输入目标端口(如8080),点击【放行】;若需放行范围端口(如8000-8099),则填写8000:8099。
3、若使用云服务器(如阿里云、腾讯云),还需登录对应云平台控制台,在【安全组】中添加入方向规则,放行相同端口。
4、执行命令firewall-cmd --list-ports(CentOS 7+)或ufw status(Ubuntu)验证端口是否生效。
五、禁用宝塔内置端口限制检测
宝塔面板在添加域名时默认校验端口号,对非80/443端口会提示“域名格式错误”。需临时绕过该限制,方可保存含端口的域名记录。
1、使用宝塔文件管理器,打开路径/www/server/panel/class/web_api.py。
2、定位到包含if port not in ['80','443']:或类似正则校验域名端口的代码段(通常在add_domain函数内)。
3、将该判断逻辑注释掉,例如在行首添加#,或将return public.returnMsg(False,'域名格式错误')整行注释。
4、保存文件后,执行bt restart重启面板服务,使修改生效。
5、再次进入【域名管理】,即可输入example.com:8080并成功提交;注意:此操作会降低面板安全性,仅建议在可信内网环境或调试阶段使用。










