宝塔面板绑定域名(不带端口)
需求 :使用https://bt.example.top/259f48d3来 https://12.15.75.51:35123/259f48d3 访问面板。
因为宝塔面板本身占用了一个端口(35123),而 80/443 端口通常被 Nginx 占用用来跑网站。为了解决冲突并隐藏端口,因此需要使用反向代理。
请严格按照以下步骤操作,因为这涉及到面板的连接,配置错了可能会导致你连不上面板(如果连不上了,记得去云厂商后台用 SSH 命令行通过 bt 命令修复)。
准备工作:DNS 解析
确保 bt.example.top 已经在阿里云/腾讯云的 DNS 解析里,A 记录指向了 12.15.75.51。
第一步:关闭"面板 SSL"(必须)
因为你要通过 Nginx 反向代理(外部由 Nginx 处理 HTTPS),如果面板内部也开着 HTTPS,Nginx 转发给面板时容易出现 SSL 握手失败(502 错误)。
- 先用老方法(IP:端口)登录面板。
- 进入 "面板设置"。
- 找到 "面板SSL" ,如果是开启的,先关闭 。
- 注意:关闭后,你暂时需要用
http://12.15.75.51:35123/...访问面板,浏览器会提示不安全,先忽略它。
- 注意:关闭后,你暂时需要用
第二步:新建一个"壳"网站
我们需要让 Nginx 接管 bt.example.top 的 80/443 请求。




具体怎么申请证书这里就不详细描述了
- 在宝塔点击 "网站" -> "添加站点"。
- 域名 :填写
bt.example.top。 - 反向代理:
- 提交。
- 申请 SSL :
- 在网站列表点击该域名的"设置" -> "SSL" -> "Let's Encrypt" -> 申请并开启"强制 HTTPS"。
- 这一步是为了让你能用
https://bt.example.top访问。

此时,你应该可以通过 https://bt.example.top/259f48d3 访问面板了。
但是! 此时面板里的 "终端"(SSH 功能)可能是无法使用的,因为反向代理有的不支持 WebSocket。如果你的代理中没有对websocket支持,你需要进行第四步。
第四步:修改配置文件(修复终端无法连接问题)
为了让面板里的 SSH 终端能用,必须修改 Nginx 配置文件。
- 在刚才的"反向代理"界面,点击刚才添加的代理右边的 "配置文件"(是一个小铅笔图标或者直接在列表里找"配置文件")。
- 你会看到类似下面的代码,你需要把它们全部替换为下面的代码(或者手动添加 WebSocket 支持部分):
直接复制并替换成以下内容(请仔细核对端口号):
nginx
#PROXY-START/
location /
{
# 你的面板端口是 35123
proxy_pass http://127.0.0.1:35123;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
# === 关键:添加 WebSocket 支持 ===
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# ===============================
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_file2 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_file2 1;
expires 12h;
}
if ( $static_file2 = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
- 点击 "保存"。
第五步:验证访问
现在,你就可以使用完美的域名访问了:
- 访问地址 :
https://bt.example.top/259f48d3- 注意:后面的安全入口
/259f48d3依然是必须的,除非你在面板设置里把它关掉(不推荐关掉,为了安全)。
- 注意:后面的安全入口
- 无需端口:不需要输入 :35123。
- SSL:由网站层面的 Let's Encrypt 保护,浏览器显示绿锁。
⚠️ 重要警告
-
关于"面板设置"里的"域名" :
在面板原本的"设置"里,有一个"绑定域名"的选项。既然你用了反向代理,那个地方建议留空,或者填
127.0.0.1。 如果你在那里也填了bt.example.top,有时候会造成死循环或鉴权错误,因为面板发现请求来自127.0.0.1(即 Nginx),但你却绑定了公网域名,它可能会拦截。- 如果访问报错"请使用正确的入口",请检查你的安全入口字符串是否正确。
-
如果以后面板打不开了 :
因为改了代理配置,万一弄错了进不去面板,请使用 SSH 工具(如 XShell、Putty)连接服务器,输入命令
bt,然后选择14(查看面板默认信息) 或1(重启面板) 来排查问题。