了解Google App Engine应用的DNS要求

时间:2016-09-19 15:06:42

标签: google-app-engine dns subdomain cname

我有一个Google App Engine正在运行,我已经购买了一个域名。为了链接这两者,我跟着the official guide

具体而言,本指南建议设置这些DNS规则:

enter image description here

问题是,我拥有裸域(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子域有一些困惑。

  1. 什么是ghs.googlehosted.com,为什么我需要在www子域上使用CNAME?为什么没有www的记录?

  2. 子域如何工作?我没有A记录,只有这个CNAME,但它仍指向我的IP。

  3. 我不明白指南时说:

  4.   

    通常,您会将主机名和规范名称列为   地址。在我们的示例中,您要添加的记录之一是主机   使用地址ghs.googlehosted.com命名www。 (如果你使用裸体   域名,您将使用@作为主机名和相应的值   从添加新的自定义域表单。)

    你能解释一下这一段的含义吗?这是什么@?

2 个答案:

答案 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)中显示的记录类型。

这很明显,您可以只设置一套。