![正确配置 Google Cloud DNS 以通过域访问网络服务器](https://linux22.com/image/1566505/%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%20Google%20Cloud%20DNS%20%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9F%9F%E8%AE%BF%E9%97%AE%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我在 Google Cloud 实例上创建了一个 Web 服务器。我已经为其分配了一个静态 IP 地址,我可以通过直接导航到该 IP 来访问该服务器。
我有一个通过 Google Domains 注册的域名。我已将其名称服务器设置为以下内容(这些是 Google Cloud 的名称服务器):
ns-cloud-e1.googledomains.com
ns-cloud-e2.googledomains.com
ns-cloud-e3.googledomains.com
ns-cloud-e4.googledomains.com
在 Google Cloud DNS 中,我有以下记录:
左边的编辑部分是我的域名,右边的编辑部分是分配给我的服务器的外部(静态)IP 地址。
距离添加记录已经过去了大约 12 个小时,所以我猜想更改可能尚未传播。但是当我对whois
我的域名执行操作时,我看到了正确的名称服务器,而当我运行时,host
我什么也没有返回。这说明我的 DNS 设置存在问题。
NS 和 SOA 记录是 Google 自动添加的,而我手动添加了两个 A 记录(之前没有 A 记录,因为它们是新记录,所以我选择了 1 天 TTL)。
如果有的话,我在这里设置了什么或者做错了什么?
答案1
您没有将 A 记录添加到基本域,而是创建了一个名为 的子域@
。
一个单独的@
区域文件在文本格式的区域文件中具有特殊含义(表示基本域),并且一些基于 Web 的 DNS 记录管理器已经克隆了此行为,但才不是必然延伸到全部对这样的系统来说,对整个 DNS 来说也是如此。
相反,许多 DNS 管理网站(包括 Google Cloud DNS)都希望您将子域名字段留空。
(如何判断它是否有效?只有裸 @
具有特殊含义,但@
与任何其他文本组合则不具有特殊含义。因此,当您的结果条目显示为时@.example.net
,您可以肯定它出错了。比较 A 和 NS 记录的外观。)