我有一个Google App Engine正在运行,我已经购买了一个域名。为了链接这两者,我跟着the official guide。
具体而言,本指南建议设置这些DNS规则:
问题是,我拥有裸域(site.com)和www子域(www.site.com)。按照指南,我制定了以下规则:
Type Name Value
A site.com. 216.239.32.21
A site.com. 216.239.34.21
A site.com. 216.239.36.21
A site.com. 216.239.38.21
(other AAAA for site.com.)
CNAME www.site.com. ghs.googlehosted.com
我认为我所做的是正确的,因为它有效:我可以输入site.com和www.site.com并转到我的应用程序。但是我对www子域有一些困惑。
什么是ghs.googlehosted.com,为什么我需要在www子域上使用CNAME?为什么没有www的记录?
子域如何工作?我没有A记录,只有这个CNAME,但它仍指向我的IP。
我不明白指南时说:
通常,您会将主机名和规范名称列为 地址。在我们的示例中,您要添加的记录之一是主机 使用地址ghs.googlehosted.com命名www。 (如果你使用裸体 域名,您将使用@作为主机名和相应的值 从添加新的自定义域表单。)
你能解释一下这一段的含义吗?这是什么@?
答案 0 :(得分:1)
本指南建议您使用其中一种DNS类型,使用A和AAAA(IPv6)或CNAME。
1)你可以使用A& www子域的AAAA记录。只需将DNS设为
即可A www.site.com. 216.239.38.21
(other AAAA for site.com.)
2)您的www子域名正在工作的原因是因为您指向www.site.com - > ghs.googlehosted.com。看到有www。在您的site.com之前
CNAME www.site.com. ghs.googlehosted.com
3)@用于表示当前原点。因此,当您使用@时,它会转换为site.com。
为了简单起见,我只使用以下DNS条目。这样我的网站就可以通过裸域和www子域访问。
CNAME www.site.com. ghs.googlehosted.com
CNAME @ ghs.googlehosted.com
如果您只是想通过裸域服务您的网站。
CNAME www.site.com. site.com
CNAME @ ghs.googlehosted.com
这里我们将www子域指向裸域。
答案 1 :(得分:1)
我刚刚经历了这个过程,并且对OP所显示的屏幕快照中显示的要求也感到困惑。 2020年看起来仍然差不多。
这似乎暗示您需要A,AAAA和CNAME(这没有意义-A和CNAME是矛盾的)。我的DNS注册商cloudflare-不允许您一起设置这些选项。
为帮助其他人搜索和查找此页面,我在docu的this page上注意到以下行:
记录类型:输入Google为您创建的DNS记录(A,AAAA或CNAME)中显示的记录类型。
这很明显,您可以只设置一套。