了解Google App Engine应用的DNS要求

nat*_*rio 6 subdomain dns google-app-engine cname

我有一个Google App Engine正在运行,我已经购买了一个域名.为了将两者联系起来,我遵循了官方指南.

具体而言,本指南建议设置以下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
Run Code Online (Sandbox Code Playgroud)

问题

认为我所做的是正确的,因为它的工作原理:我可以输入site.com和www.site.com并将其定向到我的应用程序.但是我对www子域有些困惑.

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

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

  3. 当它说:我不明白指南:

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

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

Ron*_*mas 4

该指南建议您使用其中一种 DNS 类型,即使用 A 和 AAAA(IPv6) 或 CNAME。

1) www子域名可以使用A & AAAA记录。只需将 DNS 设置为

A         www.site.com.          216.239.38.21
(other AAAA for site.com.)
Run Code Online (Sandbox Code Playgroud)

2) 您的 www 子域之所以有效,是因为您指向 www.site.com -> ghs.googlehosted.com。看到有www. 在您的 site.com 之前

CNAME     www.site.com.      ghs.googlehosted.com
Run Code Online (Sandbox Code Playgroud)

3)@用于表示当前原点。因此,当您使用 @ 时,它会转换为 site.com。

为了让事情变得更简单,我只使用以下 DNS 条目。这样我的网站就可以通过裸域和 www 子域访问。

CNAME     www.site.com.      ghs.googlehosted.com
CNAME     @      ghs.googlehosted.com
Run Code Online (Sandbox Code Playgroud)

如果您只想通过裸域为您的网站提供服务。

CNAME     www.site.com.      site.com
CNAME     @      ghs.googlehosted.com
Run Code Online (Sandbox Code Playgroud)

这里我们将 www 子域指向裸域。