之前五年,本站一直使用frp作为反向映射和负载均衡(中间有一段时间使用rathole),但是最近由于aws要命的超限流量费用,迫使本站寻求更加便宜的方案,目前选择是在clawcloud买了两个$1.5刀/月的机器,这也意味着——又到了本人最讨厌的从0开始部署机器环境的环节
先来回顾一下旧的网络拓扑:
在原先的架构中,每台 VPS 都需要部署一个 frp 服务端和两个 frp 客户端,用于实现 VPS 之间的端口映射,以便 nginx 进行负载均衡调度。
三台 VPS 总共需要运行 6 个 frp Docker 服务。而现在 VPS 数量增加到了四台,理论上需建立 12 条连接(除去 RackNerd 与 DMIT 之间的直达线路,实际需配置 10 条),配置工作量显著上升。更麻烦的是,每新增一台 VPS,配置复杂度几乎呈指数级增长。
这样的配置流程就非常简单,我只需要在4台设备上安装tailscale,登录同一个tailscale账号,就可以访问到其他设备的内网端口,相比使用frp需要配置10个docker的配置,确定每个vps的frps端口,还需要在ufw防火墙和云厂商放行端口,使用tailscale极大节省部署的成本。
步骤大概就分为如下几步,由于比较简单,就不写详细步骤了
1.注册tailscale账号
2.连接你的vps到tailscale账号
3.修改你的tailscale的vps的局域网ip,比如改成100.50.1.1 - 100.50.1.4
4.修改你nginx的upstream的设备,以100.50.1.1机器的nginx为例
博主你好,请问负载均衡这一步是在cloudflare做的,还是每个vps的nginx上面配置的呀?比如您最后的实例步骤中nginx的upstream的设备,是每个端口对应的服务都需要配置吗?我用frp映射了很多服务,都在不同的端口上面。我想让不同vps之间能负载均衡,但是不太清楚应该在哪里配置。想来向您请教一下。谢谢