Github 部署 | DNS Pod 终极解决无法访问(番外)

前言

昨天发了一篇 Github 部署 | CDN 加速网页,速度嗖嗖的快!,之后觉得应该可以结束这一系列了。然而,评论里有人说我的网页访问不了:

image

打开一看,确实凉了。

image

刚开始还以为又欠费了,毕竟天天收到腾讯云的邮件都没仔细看。后来登上控制台看,没欠费呀,而且刷新一下又好了。

思来想去,只有一种结果就是国外的 NameSilo 的 DNS 服务器被 Block 了。

之前我也是使用腾讯云的 DNS Pod 作为 DNS 服务器的,只是昨天写文章的时候换成了 NameSilo 的,想着也不会有问题,结果出了大问题。

问题

目前猜测是 NameSilo 的 DNS 服务器被 Block 了。也就是访问 yanhaixiang.com 的时候,DNS 会去找这个域名要匹配哪个 IP,或者 CNAME 等。

然而,浏览器到 DNS 服务器这一步就被某些原因 Block 了,所以没法解析域名,也就返回不了 html。

为了解决这个问题,可以使用腾讯云提供的 DNS Pod 服务

添加 DNS Pod 记录

进入管理页面,添加一条解析。

image

把之前配置的 NameSilo 的解析记录:

image

全都复制一遍到 DNS Pod 上:

image

转移完之后,我们就在 DNS Pod 上又有了一套 DNS 的解析了。

配置 Name Server

现在我们已经有了 NameSilo 和腾讯云 DNS Pod 两套解析规则了,那怎么才能将域名和 DNS Pod 绑定呢?答案是 Name Server。

重新打开 NameSilo,点击你的域名,会看到 NameServers 这里有 3 个默认 DNS 服务器的地址。

image

这 3 个地址是 NameSilo 默认提供的 DNS 服务器,一般来说域名服务商都会提供的。当访问域名时,就会通过这些服务器来查找对应和解析 IP 地址,然后返回 html。

现在,只要将 NameServers 的地址改成腾讯云提供的 DNS 服务器地址就 OK 了。

腾讯云提供的 DNS 服务器地址就在控制台的头部:

image

把它们放到 NameSilo 的 NameServers 里:

image

Submit 之后,等一会就配置好 DNS 的解析了。

注意事项

当改成 DNS Pod 解析域名后,NameSilo 上再更新 DNS 解析的配置就会有红色的警告,这是正常的,因为你已经用别的 Name Server 来解析了。

如果你回去看 Github 的 Github Pages 配置,会出现下面的报错:

image

这是因为当 CDN 有缓存了之后,直接访问域名不会再打到 Github 了,而是直接在 CDN 上返回了,然后 Github 说:“诶,你怎么打不到我这”。事实上,并不影响用户访问。

总结

最后来总结一下我们干了什么:

  • 将 NameSilo 的 DNS 记录 复制到腾讯云的 DNS Pod 上
  • 将 NameSilo 的 NameServers 改成腾讯云 DNS Pod 提供的 Name Server 地址

推荐阅读更多精彩内容