可通过frp、花生壳、ZeroTier或Cloudflare Tunnel实现宝塔面板外网访问:frp需公网服务器中转;花生壳提供免IP域名映射;ZeroTier构建虚拟局域网直连;Cloudflare Tunnel无需开放端口且自动HTTPS。

如果您已成功安装宝塔面板,但希望从外网直接访问位于内网环境中的面板界面,则必须通过内网穿透技术打通本地服务器与公网之间的通信链路。以下是实现该目标的多种可行配置方法:
一、使用 frp 配置内网穿透
frp 是一款高性能、开源的反向代理工具,支持 TCP/UDP 协议转发,适用于将内网服务映射至具有公网 IP 的中转服务器。需在公网服务器(服务端)与内网宝塔服务器(客户端)分别部署 frp 服务。
1、在公网服务器下载并解压 frp 服务端程序,编辑 frps.ini 文件,设置 bind_port 为 7000(或其他未被占用端口),并启用 dashboard 功能以便监控连接状态。
2、在内网宝塔服务器下载对应平台的 frp 客户端,编辑 frpc.ini 文件,配置 server_addr 为公网服务器 IP,server_port 为 7000,新增 [bt] 段落,设置 type = tcp,local_ip = 127.0.0.1,local_port = 8888,remote_port = 任意可用端口(如 8080)。
3、分别启动公网服务器上的 frps 和内网服务器上的 frpc,确保两者日志中显示“login success”及“start proxy success”。
4、在浏览器中访问 http://公网服务器IP:8080,即可打开内网宝塔面板登录页。
二、使用花生壳内网版配置穿透
花生壳提供图形化客户端,适配 Windows/Linux 系统,无需公网 IP 即可实现域名绑定与端口映射,其免费版支持 HTTP/HTTPS 映射,适用于宝塔默认的 8888 端口。
1、注册花生壳账号,在官网下载对应系统版本的客户端并安装。
2、使用账号登录客户端,点击“内网映射” → “添加映射”,协议类型选择“HTTP”,内网主机填写 127.0.0.1,内网端口填写 8888,外网端口保持默认或自定义(如 80)。
3、保存后获取系统分配的二级域名(如 xxx.pwsk.cn),该域名自动解析至花生壳服务器并转发至本地。
4、访问该域名,若提示“无法访问此网站”,请检查宝塔面板是否已放行 8888 端口,并确认防火墙未拦截本地回环请求。
三、使用 ZeroTier 构建虚拟局域网
ZeroTier 通过创建去中心化虚拟以太网,使内外网设备处于同一子网,从而绕过传统端口映射限制,适合对安全性与稳定性要求较高的场景。
1、在公网服务器与内网宝塔服务器均安装 ZeroTier 客户端,并执行 sudo zerotier-cli join 网络ID 加入同一私有网络。
2、登录 ZeroTier Central 控制台,在 Members 列表中找到两台设备,勾选“Assign IPs”,为其分配同网段 IP(如 10.147.17.10 和 10.147.17.20)。
3、在内网宝塔服务器上执行 bt default 命令确认面板监听地址为 0.0.0.0:8888,而非仅 127.0.0.1。
4、在公网服务器浏览器中直接访问 http://10.147.17.20:8888,输入宝塔用户名密码完成登录。
四、使用 Cloudflare Tunnel 实现无端口暴露访问
Cloudflare Tunnel 通过建立加密 outbound 连接,将内网服务接入 Cloudflare 边缘网络,全程不开放任何入站端口,且自动启用 HTTPS。
1、在 Cloudflare Dashboard 中创建新隧道,复制生成的 curl 安装命令,在内网宝塔服务器终端中执行。
2、运行 cloudflared tunnel route dns <TunnelID> bt.example.com 将自定义域名关联至隧道。
3、编辑隧道配置文件 config.yml,添加 ingress 规则:- hostname: bt.example.com,service: http://localhost:8888。
4、启动隧道服务后,访问 https://bt.example.com,Cloudflare 自动处理 SSL 证书与流量转发。










