前言
昨天发了一篇 Github 部署 | CDN 加速网页,速度嗖嗖的快!,之后觉得应该可以结束这一系列了。然而,评论里有人说我的网页访问不了:
打开一看,确实凉了。
刚开始还以为又欠费了,毕竟天天收到腾讯云的邮件都没仔细看。后来登上控制台看,没欠费呀,而且刷新一下又好了。
思来想去,只有一种结果就是国外的 NameSilo 的 DNS 服务器被 Block 了。
之前我也是使用腾讯云的 DNS Pod 作为 DNS 服务器的,只是昨天写文章的时候换成了 NameSilo 的,想着也不会有问题,结果出了大问题。
问题
目前猜测是 NameSilo 的 DNS 服务器被 Block 了。也就是访问 yanhaixiang.com
的时候,DNS 会去找这个域名要匹配哪个 IP,或者 CNAME 等。
然而,浏览器到 DNS 服务器这一步就被某些原因 Block 了,所以没法解析域名,也就返回不了 html。
为了解决这个问题,可以使用腾讯云提供的 DNS Pod 服务。
添加 DNS Pod 记录
进入管理页面,添加一条解析。
把之前配置的 NameSilo 的解析记录:
全都复制一遍到 DNS Pod 上:
转移完之后,我们就在 DNS Pod 上又有了一套 DNS 的解析了。
配置 Name Server
现在我们已经有了 NameSilo 和腾讯云 DNS Pod 两套解析规则了,那怎么才能将域名和 DNS Pod 绑定呢?答案是 Name Server。
重新打开 NameSilo,点击你的域名,会看到 NameServers 这里有 3 个默认 DNS 服务器的地址。
这 3 个地址是 NameSilo 默认提供的 DNS 服务器,一般来说域名服务商都会提供的。当访问域名时,就会通过这些服务器来查找对应和解析 IP 地址,然后返回 html。
现在,只要将 NameServers 的地址改成腾讯云提供的 DNS 服务器地址就 OK 了。
腾讯云提供的 DNS 服务器地址就在控制台的头部:
把它们放到 NameSilo 的 NameServers 里:
Submit 之后,等一会就配置好 DNS 的解析了。
注意事项
当改成 DNS Pod 解析域名后,NameSilo 上再更新 DNS 解析的配置就会有红色的警告,这是正常的,因为你已经用别的 Name Server 来解析了。
如果你回去看 Github 的 Github Pages 配置,会出现下面的报错:
这是因为当 CDN 有缓存了之后,直接访问域名不会再打到 Github 了,而是直接在 CDN 上返回了,然后 Github 说:“诶,你怎么打不到我这”。事实上,并不影响用户访问。
总结
最后来总结一下我们干了什么:
- 将 NameSilo 的 DNS 记录 复制到腾讯云的 DNS Pod 上
- 将 NameSilo 的 NameServers 改成腾讯云 DNS Pod 提供的 Name Server 地址