折中式 博客多平台负载均衡方案
前言
此前博客在 Vercel 托管,域名是腾讯云 CNAME 到 Vercel 的加速源,但是最近发现这个方案有如下问题:
- 神秘力量:有时网络只位于墙内或墙外,单向访问
- 额度耗尽:Vercel 的免费额度是 100G/月,这个月博客居然把额度耗尽
- 容灾能力:受单平台限制没有灾害转移能力,包括不限于对网络问题、额度问题的处理
基于以上问题,前天计划周末进行多平台负载均衡,增强博客的稳定性与白嫖性。虽然不能完美解决,但已经得到很大改善。
而且该方案可复用于无状态、一致性的项目,如:博客、文档、SPA、只读类接口、静态加速等等。毕竟额度不够,平台账号数量来凑。
问题
考虑到该方案的可能缺陷,如统计数据、SEO易混乱、部分平台行为不一致、首次 TLS 握手稍慢等等,未来将在此处记录出现的问题与解决方案。
2025-06-21
使用多平台负载均衡方案
方案
准备过程
- 服务器:可以是微型服务器,只用来运行负载均衡程序。最好是香港服务器防止国内网络问题。
- 域名:可以是任何域名,但需要解析到服务器的 IP 地址。
- 负载均衡程序:可以是任何具备负载均衡程序,如 Nginx、OpenResty 等。
- 多平台账号:Vercel、Netlify、Cloudflare 等。
设计思路
- 部署博客在Vercel等多平台,不需要配置DOMAIN,用默认的域名即可。
- Hexo等框架通常生成一个静态的 public 文件夹,上传到 Git 仓库中在 Vercel、GitHub Pages、Cloudflare Pages、Netlify 等引用仓库部署。(后续推送会自动触发更新)
- 需要的话服务器本身也可以托管一份
- 域名解析到服务器的IP地址
- 服务器安装负载均衡程序,自行搜索《Linux安装Nginx》之类的教程。
- 签发证书,新建站点,并配置规则。(配置完无需维护,除非部署平台有增减)
详细教程
视频教程
因为对于服务器新手配置可能过于宽泛与繁琐,录制了视频作为参考。
效果
网站测速


必应索引
测试了必应站点地图索引与网站扫描与往常一致。
局限性与解决思路
需要自建服务器
维护成本高于单纯用平台白嫖部署,但可以选择轻量 VPS(1H/1G 足矣)。
不具备主动健康检查
负载均衡程序本身不具备主动健康检查功能,无法动态剔除故障节点,只能故障转移。可通过 max_fails + 定时 reload 替代;未来可引入 Lua 脚本来实现。
SEO问题
多副本可能被搜索引擎识别为重复,可通过添加 canonical标签、站点地图等指向源站。(Stellar已实现)
部分平台行为不一致
如平台对404错误处理不一致,可添加自定义 404 页面。(Stellar已实现)