如何正确的给hexo、hugo等静态博客做好dns解析?

问题

之前我搭建hexo的时候,觉得github.io的速度比较快,所以默认的dns通过cname解析到了github.io,然后国内搜索引擎解析到coding的pages。这样个人访问飞快,搜索引擎又可以抓取, 多好啊。

但是,告诉大家,这样个方案是不靠谱的,因为github.io这个域名已经大面积被污染

我怎么知道的?刚好昨天用helm add一个repo,刚好这个repo又是部署*.github.io的静态网站,安装失败后,用curl看这个请求这个地址的细节,发现请求的地址是127.0.0.1。怪不得前两天我的博客突然访问不了,还纳闷qiang怎么会封我一个小小的博客呢,不至于吧。

于是,赶紧dig一下,发现无论是电信的dns还是google的dns,A记录都被修改成127.0.0.1
如何正确的给hexo、hugo等静态博客做好dns解析?
再来看看全国污染过的情况:
如何正确的给hexo、hugo等静态博客做好dns解析?
有被改为127.0.0.1的,有改到::1的,按这个抽样,全国已经有1/3的地区被污染过了(还有其他“无法连接到主机”等问题不算进去)

所以,基本上,如果你搭建pages,设置的dns默认指向github.io的话,是不靠谱的,因为你可能运气好,所在地区没有被污染,你自己是可以访问到的,你以为正常,但是全国可能有1/3的地方访问不了你的博客

方案

怎么办?

  1. 免费的方案的话,把默认dns解析到coding.(虽然coding的速度非常不稳定,但是保证能用
  2. *线路解析到github.io
  3. 采用其他收费的托管服务

收费的方案不说了,搭个博客,我暂时还不想付费。

那么免费的方案(githubcoding),按这个1和2解析后,国内默认访问coding,而且搜索引擎能抓取到(收不收录是另外一码事),代价是会很不稳地,有时候会慢的飞起,有时候挺快。国外的用户,则能飞快的访问到,因为他们解析到的是github.io,而且google肯定都是收录的。

话题外

至于如何解决helm add repo的问题,临时性的话,就在/etc/hosts里面加一条记录就好。觉得不爽的话,就自己本地弄一个dns吧,一次性解决这个问题。