云服务器 + Tailscale 把本地 LLM 服务变成公网服务

背景

因为之前鼓捣了一套「全天候办公系统 」,让我的一堆电脑组成了一个办公集群,让我可以随时随地办公。(详见《码农的快乐你不懂:随便一台破电脑,都能远程高效开发!真·零帧起手·爽爆了!》

所以我是 Tailscale + RustDesk 的重度用户。这不,这个集群最近又加入了一台 AI 服务器(详见《双 16G V100 本地部署 Qwen3.6》)。

所以我就在想,能不能把这个 AI 服务器启动的服务,变成公网服务,这样就能方便各种工具的接入了。

但是内网服务暴露到公网,要么用收费的软件,要么每次启动地址都会变,都不太符合需求。

于是就有了这个方案云服务器 + Tailscale

步骤

准备

  • 云服务器 :你得有个外网能访问的云服务器,我用的是阿里云的 ECS, 2C2G 的配置就够用了。记得装上 Nginx
  • 域名 :最好有个域名,否则直接用 IP 访问的话不太方便,也不太安全。买个最便宜的个人域名就行。比如 myname.top
  • Tailscale:保证你的 ECS 和本地机器上都安装了 Tailscale,并登录在同一个虚拟内网里。进 Tailscale 的后台看看就知道了;
  • 放开 UDP 41641 端口:在 ECS 的安全管理中,放开 UDP 的 41641 端口,这样 Tailscale 才能直连。

做完上面工作,基本网络层面就差不多搭好了。你可以登录 ECS 上,ping 一下你的本地主机的 Tailscale 内网 IP,应该是能通的。

sh 复制代码
tailscale ping 100.115.247.79

pong from mini-ubuntu (100.115.247.79) via DERP(hkg) in 161ms # 不是直连
pong from mini-ubuntu (100.115.247.79) via 101.96.65.126:41641 in 196ms # 直连成功

tailscale status # 查看状态,看是否有 direct 字样

奇怪,为什么我测试的 DERP 比直连还快呢......

配置 Nginx

首先,你要把域名的 DNS 配到你的 ECS 的公网 IP 上。比如 test.myname.top114.113.112.111

然后,配置 ECS 的 Nginx:

sh 复制代码
cd /etc/nginx/conf.d
touch test.myname.top.conf

然后把下面的内容粘贴进去:

sh 复制代码
server {
    listen 80;
    server_name test.myname.top; # 你的域名

    location / {
        proxy_pass http://100.100.99.99:5678; # 本地服务的 Tailscale 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;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

然后

sh 复制代码
sudo nginx -t

sudo nginx -s reload

这时候,如果你启动了本地服务,那么访问 test.myname.top 的时候,应该就能访问到了。

注意,如果没访问成功,看看你的本地服务是不是起在了 127.0.0.1:5678 上,改成 0.0.0.0:5678 试试。

增加 HTTPS

如果想进一步配置 HTTPS,就安装 certbot 上免费证书即可。

sh 复制代码
sudo dnf install certbot python3-certbot-nginx -y

sudo certbot --nginx -d test.myname.top

第一次使用,应该会让你输入个邮箱,输入个能用的就行。

注意,上了 HTTPS 之后,你的本地服务可能需要一些配置上的调整,否则可能造成访问失败等问题。

结语

感觉打开了新世界的大门了,也许我的一堆被当成服务器使用的废电脑,能压榨出更多的价值了。

另外,需要注意的是,如果你部署的是网页服务,那么很有可能会因为备案之类的问题被拦截。

所以最好还是提供接口方面的服务比较好。

当然,这个方案的稳定性肯定比不上直接在 ECS 上装服务了,但是在一些非严肃、小范围使用的场景下,还是比较合适的。

它可以突破 ECS 配置的限制,把本地算力部署上去,还是比较有想象力的。

等后面再玩出别的花样,我再来分享~

相关推荐
Freed&2 小时前
阿里云 OSS 至 AWS S3 跨云迁移实施指南
阿里云·云计算·aws
RoboWizard3 小时前
云计算与虚拟化场景下企业级SSD选购指南:金士顿SEDC3000ME选型实践
云计算
RoboWizard4 小时前
云计算与虚拟化场景下企业级SSD品牌横向对比评测:金士顿SEDC3000ME领跑
云计算
ManageEngine卓豪20 小时前
腾讯云分布式系统中的行为异动:成因、早期信号与识别方式
云计算·腾讯云·云分布式系统
Akamai中国20 小时前
优化AI推理:针对AI工作负载的实时Node Balancers指标
人工智能·云计算·云服务
翼龙云_cloud21 小时前
阿里云云监控夜间服务器全链路监控告警实操指南
运维·服务器·网络·阿里云·云计算
聚美智数1 天前
聚美智数×阿里云百炼OneKeyMCP:一个APIKey,连接海量Agent生态
阿里云·云计算
国科安芯1 天前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
国科安芯1 天前
卫星电推进系统阀门驱动控制中的宽温域高可靠MCU应用研究——基于AS32S601电气特性与辐照试验数据的工程分析
单片机·嵌入式硬件·fpga开发·云计算·信息与通信·卫星·抗辐射芯片