Vercel 部署的 Waline 在国内访问慢,主要是因为 vercel.app 域名本身在国内的访问链路不佳。要解决这个问题,核心思路是优化或替换访问路径和优化资源加载。
这里有几种由浅入深的方法,你可以根据自己的情况选择:
方案一:绑定自定义域名(最直接有效)
这是首选方案,通过自己购买的域名来访问 Waline 服务,可以绕过对 vercel.app 域名的访问限制。
准备一个域名:如果你还没有,可以在阿里云、腾讯云等平台购买一个。
在 Vercel 添加域名:进入你的 Waline 项目 → Settings → Domains,输入你的自定义域名(如 comment.your-site.com)并添加。
配置 DNS 解析:登录你的域名服务商后台,添加一条CNAME记录。将你的子域名指向 Vercel 提供的目标地址(通常是 cname.vercel-dns.com)。
等待生效:DNS 解析生效可能需要几分钟到十几分钟。生效后,在 Waline 客户端配置中使用这个新域名即可。
方案二:使用国内 CDN 服务加速(进阶优选)
在方案一的基础上,可以再为你的自定义域名套上一层国内 CDN,进一步降低延迟。例如腾讯云 EdgeOne,它提供无需备案的免费套餐。
操作思路:在 EdgeOne 添加你的网站,将源站地址设置为你的 Vercel 项目地址(如 your-project.vercel.app)。EdgeOne 会生成一个 *.edgeone.cn 的 CNAME 地址,你只需将域名服务商处的 CNAME 记录值改为这个新地址即可。
此外,也可以参考社区方案,将域名的 CNAME 记录指向一些经过线路优化的地址,如 vercel-cname.xingpingcn.top,但需注意其稳定性。
方案三:优化 Waline 资源加载(根治加载慢)
Waline 默认从 unpkg.com 等国外 CDN 加载资源,在国内访问不稳定。你可以通过以下方式优化:
管理后台资源:设置环境变量 WALINE_ADMIN_MODULE_ASSET_URL,将管理后台的 JS/CSS 等资源指向国内镜像或自己的服务器。
表情包资源:将默认的表情包下载到自己的服务器或国内 CDN 上,然后在 Waline 配置中修改表情包地址。
前端资源:自行构建 Waline 前端资源并托管在国内 CDN 上,或使用国内镜像源替代 unpkg。
其他备选方案
如果以上方法都不太适合,还可以考虑:
迁移部署平台:将 Waline 后端部署到国内云厂商的 Serverless 服务(如腾讯云 CloudBase)上或自己的云服务器上。
采用镜像/双部署:在国内基础设施上部署一个 Waline 的镜像,但这通常需要 ICP 备案。
总结与建议
总的来说,最推荐、性价比最高的方案是 “绑定自定义域名” 。如果追求极致的访问速度,可以在此基础上叠加“国内 CDN 服务”。同时,别忘了优化 Waline 自身的资源加载,这三管齐下能最大程度提升国内访问体验。
方案四:DNS解析的CNAME记录值。当前采用的方法,稍稍提速。
官方地址是 cname-china.vercel-dns.com。
这个地址是什么?
简单来说,这是 Vercel 官方专门为中国大陆地区访问优化的 CNAME 记录。
工作原理:当你在自己的域名DNS设置中,将CNAME记录指向这个地址时,用户的访问请求会被引导至 Vercel 针对中国地区优化过的网络节点。
主要作用:相比默认的 cname.vercel-dns.com 或自动分配的 *.vercel.app 域名,使用它能显著提升国内用户的访问速度和稳定性,有效避免因DNS污染或线路不佳导致的访问问题。
如何用它来加速你的 Waline?
操作很简单,就是将你之前为 Waline 绑定的自定义域名(例如 comment.your-site.com)的 CNAME 记录值,修改为 cname-china.vercel-dns.com。
具体步骤如下:
登录域名DNS管理后台:进入你购买域名的服务商(如阿里云、腾讯云、Cloudflare等)的DNS解析设置页面。
修改CNAME记录:找到你为 Waline 解析的那个主机记录(例如 comment),将其“记录值”修改为:cname-china.vercel-dns.com
保存并等待生效:保存设置后,等待DNS解析生效(一般几分钟到几十分钟不等)。
之后,你的 Waline 服务在国内的访问速度就应该能得到改善。如果修改后仍有问题,可以尝试将A记录指向 76.223.126.88 作为备选方案。