前言
因为官方默认的 cname 解析出来的 ip 在国内访问的稳定性都很差,所以写了这个项目
Warning (IMPORTENT)
本 post 更新不及时,请点击下方 GitHub repo 查看!
如何使用
先放 repo,欢迎提交 issue。
- 如果你的网站部署在
cf,则把 cname 记录改为:cf-cname.xingpingcn.top- 使用此 dns 解析建议:如果你的域名托管在 cloudflare,那么使用这个 cname 很有可能会遇到 403。建议把你的域名托管在非 cloudflare 平台,然后再在 cf 平台中删除你的站点,之后再使用。测速的时候一定要看下面的图。如果有些服务,例如 cf worker,必须要把域名托管在 cf,那么建议你使用 cf 的 saas 功能。
- 如果你的网站部署在
vercel,则把 cname 记录改为:vercel-cname.xingpingcn.top
- 如果你的网站部署在
netlify,则把 cname 记录改为:netlify-cname.xingpingcn.top
- 如果你的网站部署在
netlify和vercel上,则把 cname 记录改为:verlify-cname.xingpingcn.top- 使用此 dns 解析建议:先把 cname 记录改为官方提供的 url,等
ssl/tls证书生成之后再把 cname 记录改为verlify-cname.xingpingcn.top
- 使用此 dns 解析建议:先把 cname 记录改为官方提供的 url,等
可能存在的问题
浙江、福建、河南的个别 isp 访问可能会失败目前似乎只有泉州被墙(官方的 cname 也是同样的问题,或许是 isp 限制导致的)- 对于测速工具的选择,itdog.cn 测出来的结果有点问题(会出现大片的红,原因未知),可以试试用 boce.com、cesu.net 之内的来测
测速结果
CF
Vercel
Netlify
Q&A
Q:和官方提供的 cname 有什么差别?
A:
- 官方的 cname 有时在平均速度上是很快的,但是缺乏稳定性,会出现好几个省份都访问不了的情况,又或者个别省份相应时间非常长
- 而我的 cname 在平均速度上可能不是最快的,平均响应速度尽量维持在 1 秒内,最长的响应时间控制在 2 秒内,而返回非 200 状态码的省份尽量少于等于 2 个
Q:为什么分路线解析不准确?
A:我使用的是权威 DNS 服务器自带的路线解析,可能存在误判。如果你想要更加精准的分路线解析,可以自行选取其他 DNS 服务器——如 dnspod——并添加Netlify.json或Vercel.json里的 IP 到 A 记录。或使用 NS1.COM 作为权威 DNS 服务器,并设置根据 ASN 进行路线解析。你可以看看我写的ASN 列表。
Q:为什么设置了你的 CNAME 解析后网站不能访问?
A:
- 这大概率是使用了
verlify-cname.xingpingcn.top导致的。需要先把 CNAME 记录改为官方提供的链接,等待 SSL 证书生成后再重新设置。这是由于该解析包含两个平台的 IP,平台每次访问都会获得二者之一的 IP,因而认为你在平台所填写的域名并不是你所拥有的。但是一旦生成证书后,证书就会缓存在平台上。 - netlify支持上传自己的证书。如果还是不行就申请一个能自动续期的证书,写 webhook,在证书更新的时候自动部署到 netlify。
Q:为什么有的路线(如电信)的 DNS A 记录解析是官方提供的默认 IP?
A:
这是因为该路线的其他 IP 质量较差,所以暂时停止解析其路线,改用官方提供的默认 IP。你可以通过同时将网站部署在 vercel 和 netlify,把 cname 解析改为 verlify-cname.xingpingcn.top,从而提高容错率。两个平台同一线路同时失效的概率要低许多。
Q:为什么 json 文件有的路线是一个空列表?
A:
同上