soarli

零成本拥抱公网:利用 Tailscale + 公网 VPS 打造超稳定的私有 Web 服务架构
引言对于很多开发者和数码玩家来说,家里或公司内网那台性能强悍的服务器(或 NAS)总是让人又爱又恨:爱它的高性能和...
扫描右侧二维码阅读全文
10
2026/03

零成本拥抱公网:利用 Tailscale + 公网 VPS 打造超稳定的私有 Web 服务架构

引言

对于很多开发者和数码玩家来说,家里或公司内网那台性能强悍的服务器(或 NAS)总是让人又爱又恨:爱它的高性能和超大空间,恨它没有公网 IP,空有一身本领却无法在校外、家外轻松访问。

传统的 FRP、Ngrok 配置繁琐且安全性难以保障。今天,我将分享一套“黄金组合”方案:利用 Tailscale (WireGuard) 的加密隧道,配合一台低配 公网 VPS宝塔面板,实现既安全、又稳定、且具备自动 SSL 证书续期的公有 Web 服务架构。


一、 架构设计:为什么选择这个方案?

传统的内网穿透是直接把内网端口暴露在公网,而我们的方案采用“流量中转 + 边缘卸载”的思路:

  1. 安全隐患低:内网服务器无需开启任何公网端口,仅与 VPS 建立点对点加密隧道。
  2. 配置极简:利用 Tailscale 自动打洞,无需操心复杂的 NAT 类型。
  3. 性能可控:通过自建 DERP 中继服务器,解决跨境传输延迟,实现毫秒级响应。
  4. 管理方便:在 VPS 上使用宝塔面板,图形化管理反向代理和 SSL 证书。

二、 实战步骤:从零开始搭建

1. 基础环境铺设

首先,在你的 Ubuntu VPS内网服务器 上分别安装 Tailscale。

# 一键安装脚本
curl -fsSL https://tailscale.com/install.sh | sh

# 启动并完成身份验证
tailscale up

安装完成后,在 Tailscale 控制台你会看到两台设备都分配到了 100.x.x.x 段的内部 IP。

2. 进阶:在 VPS 上部署私有 DERP 中继节点

为了保证在任何网络环境下(如公司严格的防火墙)都能秒连,我们需要利用 VPS 的公网 IP 自建中继。

使用 Docker 快速部署:

docker run -d \
  --name derper \
  --restart always \
  -p 443:443 \
  -p 3478:3478/udp \
  -e DERP_DOMAIN=derp.yourdomain.com \
  -v /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock \
  fredliang/derper

注意:需在云服务器安全组开放 TCP 443UDP 3478 端口。

在 Tailscale 控制台配置 ACL:
derpMap 中填入你的域名和端口信息,确保流量优先走你的私有节点。

3. 公网入口:宝塔面板的反向代理设置

这是实现“公有 Web 服务”的关键一步。

  1. 创建站点:在宝塔面板添加你的公网域名站点。
  2. 配置 SSL:在站点设置中申请 Let's Encrypt 证书,开启“强制 HTTPS”
  3. 设置反向代理
  • 目标 URL:填写内网服务器的 Tailscale IP。例如 http://100.123.45.67:8080
  • 发送域名:使用变量 $host
  1. 优化配置文件:如果是长连接服务(如 WebSSH 或 Home Assistant),记得在反代配置中加入以下代码支持 WebSocket:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

三、 避坑指南:确保系统长期稳定

1. 设备上线提醒

Tailscale 原生不支持下线提醒,为了防止内网服务宕机而不知情,建议在内网服务器部署 Uptime Kuma

  • 监控逻辑:定时 Ping 内网服务器的 Tailscale IP。
  • 报警渠道:对接 Telegram、钉钉或 Server 酱,一旦断连秒发通知。

2. 性能瓶颈分析

  • 带宽:服务的上限取决于你的 VPS 公网带宽和家庭上行带宽的“最小值”。
  • 直连 vs 中继:通过 tailscale status 检查状态。如果显示 direct 则是最理想的 P2P 连接;如果显示 relay,则确保它走的是你自建的 DERP 节点。

四、 总结

这套方案完美解决了“高性能内网资源”与“公网访问便利性”之间的矛盾。通过 Tailscale 构建安全的底层连接,通过宝塔面板简化前端的运维工作,即便是新手也能在半小时内搭建出一套企业级的私有云服务入口。

下一步建议:
如果你有多个内网服务(如 OpenWrt、NAS、私有云盘),可以考虑在内网服务器上开启 Subnet Router(子网路由) 功能,这样你甚至可以直接通过内网原始 IP 访问整个家庭网络的所有设备。


如果你在搭建过程中遇到证书申请冲突或 UDP 打洞失败的问题,欢迎在评论区留言讨论!

最后修改:2026 年 03 月 11 日 12 : 12 AM

发表评论