宝塔面板绑定域名(不带端口)

宝塔面板绑定域名(不带端口)

需求 :使用https://bt.example.top/259f48d3https://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 错误)。

  1. 先用老方法(IP:端口)登录面板。
  2. 进入 "面板设置"
  3. 找到 "面板SSL" ,如果是开启的,先关闭
    • 注意:关闭后,你暂时需要用 http://12.15.75.51:35123/... 访问面板,浏览器会提示不安全,先忽略它。

第二步:新建一个"壳"网站

我们需要让 Nginx 接管 bt.example.top 的 80/443 请求。


具体怎么申请证书这里就不详细描述了

  1. 在宝塔点击 "网站" -> "添加站点"
  2. 域名 :填写 bt.example.top
  3. 反向代理
  4. 提交。
  5. 申请 SSL
    • 在网站列表点击该域名的"设置" -> "SSL" -> "Let's Encrypt" -> 申请并开启"强制 HTTPS"。
    • 这一步是为了让你能用 https://bt.example.top 访问。

此时,你应该可以通过 https://bt.example.top/259f48d3 访问面板了。
但是! 此时面板里的 "终端"(SSH 功能)可能是无法使用的,因为反向代理有的不支持 WebSocket。如果你的代理中没有对websocket支持,你需要进行第四步。


第四步:修改配置文件(修复终端无法连接问题)

为了让面板里的 SSH 终端能用,必须修改 Nginx 配置文件。

  1. 在刚才的"反向代理"界面,点击刚才添加的代理右边的 "配置文件"(是一个小铅笔图标或者直接在列表里找"配置文件")。
  2. 你会看到类似下面的代码,你需要把它们全部替换为下面的代码(或者手动添加 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/
  1. 点击 "保存"

第五步:验证访问

现在,你就可以使用完美的域名访问了:

  • 访问地址https://bt.example.top/259f48d3
    • 注意:后面的安全入口 /259f48d3 依然是必须的,除非你在面板设置里把它关掉(不推荐关掉,为了安全)。
  • 无需端口:不需要输入 :35123。
  • SSL:由网站层面的 Let's Encrypt 保护,浏览器显示绿锁。

⚠️ 重要警告

  1. 关于"面板设置"里的"域名"

    在面板原本的"设置"里,有一个"绑定域名"的选项。既然你用了反向代理,那个地方建议留空,或者填 127.0.0.1 如果你在那里也填了 bt.example.top,有时候会造成死循环或鉴权错误,因为面板发现请求来自 127.0.0.1(即 Nginx),但你却绑定了公网域名,它可能会拦截。

    • 如果访问报错"请使用正确的入口",请检查你的安全入口字符串是否正确。
  2. 如果以后面板打不开了

    因为改了代理配置,万一弄错了进不去面板,请使用 SSH 工具(如 XShell、Putty)连接服务器,输入命令 bt,然后选择 14 (查看面板默认信息) 或 1 (重启面板) 来排查问题。

相关推荐
林开落L2 小时前
解决云服务器内存不足:2 分钟搞定 Ubuntu swap 交换区配置(新手友好版)
运维·服务器·ubuntu·swap交换区
2301_805962937 小时前
arduino IDE如何设置代理
运维·服务器
TG_yunshuguoji8 小时前
亚马逊云代理商:AWS 国际站缺卡新用户创建邮箱怎么选择?
安全·云计算·aws
huaweichenai9 小时前
Linux安装http-server并部署html静态站点
linux·运维·服务器
北冥湖畔的燕雀9 小时前
Linux权限与Vim,gcc以及make/makefile操作全解析
linux·运维·服务器
xmlhcxr9 小时前
Nginx(一)
运维·nginx
枷锁—sha10 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 053】详解:逐字节爆破!手写 Canary 的终极破解
网络·笔记·安全·网络安全
峰顶听歌的鲸鱼11 小时前
Zabbix监控系统
linux·运维·笔记·安全·云计算·zabbix·学习方法
安当加密11 小时前
用 SMS 凭据管理系统替代 HashiCorp Vault:中小企业的轻量级 Secrets 管理实践
服务器·数据库·安全·阿里云
物联网软硬件开发-轨物科技11 小时前
【技术白皮书】光伏电站数智化技改技术白皮书:从老旧场站到高收益智能资产的演进路径
大数据·运维·服务器