宝塔面板域名访问失败或跳转IP是因为默认未绑定域名且硬编码Host校验;需在面板设置中绑定域名、配置反向代理并申请SSL证书,最后重启面板服务生效。

宝塔面板安装后不能直接用域名访问,必须手动配置反向代理或修改面板端口绑定规则,否则会 502 或跳转到 IP 地址登录页。
为什么域名访问会失败或跳转到 IP
宝塔默认只监听 0.0.0.0:8888,且面板登录页硬编码了当前请求的 Host(即浏览器地址栏里的域名/IP)。如果 DNS 已解析到服务器但没在面板里登记该域名,它会自动重定向回面板绑定的“主域名”或 IP —— 这个主域名默认是空的,所以 fallback 到 IP。
常见错误现象:
• 输入 https://panel.example.com 后跳转成 http://192.168.1.100:8888
• 页面加载一半卡住,控制台报 Mixed Content 错误(HTTP 资源被 HTTPS 阻止)
• 提示 “您的连接不是私密连接”,因为面板自签证书不匹配域名
- 必须在面板后台「面板设置」→「绑定域名」中填入已解析到本机的域名(如
panel.example.com) - 该操作仅影响面板登录页的 Host 校验逻辑,不自动配置 HTTPS 或反向代理
- 若使用 CDN 或代理层(如 Nginx Proxy Manager),需确保真实 IP 透传(
X-Real-IP和X-Forwarded-For),否则绑定无效
如何正确绑定域名并启用 HTTPS
绑定域名只是第一步,要真正用域名 + HTTPS 安全访问,还需补全证书和反向代理:
- 先在「网站」菜单新建一个站点,域名为你准备绑定的面板域名(如
panel.example.com) - 为该站点申请 SSL 证书(推荐 Let's Encrypt,勾选「强制 HTTPS」)
- 进入该站点的「配置文件」,在
location /块内添加反向代理规则:proxy_pass https://127.0.0.1:8888;<br>proxy_set_header Host $host;<br>proxy_set_header X-Real-IP $remote_addr;<br>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>proxy_set_header X-Forwarded-Proto $scheme;
- 保存后重启 Nginx,再回到「面板设置」→「绑定域名」填入
panel.example.com并保存
注意:proxy_pass 必须指向面板实际监听端口(默认 8888),如果改过端口(如改成 8889),这里也要同步改。
绑定后仍无法访问的典型排查点
即使域名填对、代理配好,也可能因以下原因失败:
- 防火墙未放行面板端口(如
8888):执行bt 8检查或手动开放ufw allow 8888 - 宝塔面板服务未监听 IPv4:检查
/www/server/panel/data/port.pl是否为纯数字,且netstat -tlnp | grep :8888显示0.0.0.0:8888而非127.0.0.1:8888 - CDN 开启了「Websocket 支持」但未透传
Upgrade和Connection头,导致面板右上角「在线人数」等实时功能断连 - 浏览器缓存了旧的 HSTS 策略(尤其之前用过
https://ip:8888):可尝试隐身窗口或清空 HSTS 缓存(Chrome 访问chrome://net-internals/#hsts删除)
最常被忽略的是:绑定域名后,必须重启面板服务(bt restart)才能使 Host 校验生效。不重启,填了也白填。

















