反代网站最简单的方法中转机落地机隐藏源站
先把架构再明确一下(你现在最稳、最通用的方案):
B = 公网入口、SSL 终端、反向代理
域名
3.com解析到 BB 上给
3.com申请 Let’s Encrypt 证书,强制 HTTPSB 反向代理到 A(内网 / 本机 HTTP)
A = 后端源站,只听 HTTP(80),不需要公网 SSL
A 也绑定
3.comA 不开 443、不配置公网证书
下面分两块: 1)宝塔 A + B 点哪里(最简版) 2)1Panel B(公网反代 + SSL)+ A(HTTP 源站)教程
一、宝塔:B(公网)+ A(后端)极简操作
🟦 B 服务器(公网,有域名 3.com)
添加站点
网站 → 添加站点 → 域名:
3.com→ 提交(随便 PHP 版本)申请 SSL(Let’s Encrypt)

网站 →
3.com→ 设置 → SSL选 Let’s Encrypt → 勾选
3.com→ 验证方式:文件验证(80 端口) → 申请
申请成功后,打开 强制 HTTPS(右上角)1Panel
配置反向代理(关键)
回到站点设置 → 反向代理 → 添加反向代理
名称:随便(比如
to-A)目标 URL:
http://A的IP(A 只开 80)发送域名(Host):
3.com保存 → 重启 Nginx
🟩 A 服务器(后端,不需要公网 SSL)
添加站点
网站 → 添加站点 → 域名:
3.com端口:80(HTTP),不要开 443
SSL 设为 “不启用”
站点设置 → SSL → 选择 不启用
放行防火墙 80 端口
A 不要把
3.com解析到自己!只在 B 解析。
这样: 用户 → HTTPS://3.com(B,有证书)→ HTTP://AIP(A,无证书)→ 正常访问
二、1Panel 教程(B 用 1Panel 做 SSL + 反代;A 可以是宝塔 / 1Panel)
🟦 B 服务器(1Panel,公网,3.com)
0)准备
已安装 1Panel + OpenResty(应用商店一键装)
域名
3.comA 记录指向 B 公网 IP防火墙放行 80、443
1)申请 SSL 证书(Let’s Encrypt)
登录 1Panel → 左侧 网站 → SSL 证书

点 添加证书 → 选 Let’s Encrypt


域名:
3.com(可加 www.3.com)验证方式:HTTP 验证(推荐)
邮箱:填一个(用于续期通知)
勾选 自动续签 → 确定,等待 1–2 分钟
2)创建网站并启用 HTTPS
网站 → 创建网站
域名:
3.com运行目录:随便(如
/www/3com)服务器:选 OpenResty → 提交
网站列表 →
3.com→ 配置 → HTTPS1Panel
启用 HTTPS:开启
证书:选刚才申请的
3.com证书强制跳转:HTTP → HTTPS
保存
3)配置反向代理到 A
同一配置页 → 反向代理 → 添加反向代理

Host: $hostX-Real-IP: $remote_addrX-Forwarded-For: $proxy_add_x_forwarded_forX-Forwarded-Proto: $scheme代理名称:
proxy-to-A前端路径:
/后端地址:
http://A的IP(A 只开 80)下面 Header 勾选:
保存 → 重启 OpenResty
4)1Panel 里 Nginx 配置(核对用)
在 3.com 配置文件里,核心段会长这样(不用手改,面板生成):nginx
server { listen 80; server_name 3.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name 3.com; ssl_certificate /xxx/3.com.fullchain.pem; ssl_certificate_key /xxx/3.com.privkey.pem; location / { proxy_pass http://A的IP; 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 X-Forwarded-Proto $scheme; } }🟩 A 服务器(后端,HTTP 即可)
无论 A 是宝塔还是 1Panel:
站点绑定:
3.com监听端口:80(HTTP)
不配置 SSL、不开 443
防火墙放行 80
DNS 不要把 3.com 指向 A
三、你最关心的那句总结
域名指向 B = B 才能给这个域名申请公网 SSL;A 不能也不需要用这个域名再做公网 SSL。
对外:只有 B 一个 HTTPS/SSL 入口
对内:B→A 用 HTTP 最简单、最稳、最普遍
如果源站也要用SSL可以建个二级域名然后3.com 反代到A源站的a.3.com
源服A 代理B
源服上有1 2 3 4绑多个域名站
B要代理其中的3站
以上前提,没理解错的话
B上创建以3域名的站 绑定3域名 设置3域名的ssl...就是跟你平时搭建3域名站的步骤一样 只不过这个3站可以是空的 然后3域名解析到B服
宝塔反向代理目标URL 这里2种选择 1:A服ip+A服3站上的端口(不推荐因为A服多站公用一个80 443端,可能出现代理到1 2 4...其他站上,当然也可以通过把3站设置成默认站解决 或者改3站的端口 但会影响其他站)
2.A服3站帮3的一个2级域名比如:yuan.3.com B服上的代理目标url填这个
发送域名 3的主域
以上设置没问题的话 再访问不了 那就看你AB之间互通有没有出问题 A被强? B被强?
网友评论