如何将 Google Domains 域名映射到 Google Cloud Run 项目?我无法让“www”发挥作用

如何将 Google Domains 域名映射到 Google Cloud Run 项目?我无法让“www”发挥作用

我已经购买了 Google Domains 域名并尝试将我的 Cloud Run 项目映射到它。

为此,我在 Google Domain 帐户的“DNS 设置”页面的自定义资源记录下添加了两条记录:

  1. @ A 1h xxx.xxx.xx.xx(我从云运行页面中的自定义域映射 -> DNS 记录获取的 ip)
  2. www CNAME 1h example.com。

根据我在这里读到的内容:https://support.google.com/domains/answer/3251147?authuser=1#zippy=%2Ccname,这应该足以让我的网址“https://example.com”和“https://www.example.com”正常工作,但事实并非如此。只有“https://example.com”有效,而带有“www”的网址会给我一个 Google 404 页面。

知道如何才能使“www”发挥作用吗?

谢谢!

答案1

最终成功让它发挥作用:

  1. 在 Cloud Run 中创建了两个自定义映射(一个用于 example.com,另一个用于www.example.com)。
  2. 在 Google Domains 中,我添加了 3 条自定义资源记录:

@ 1小时xxx.xxx.xx.xx

@TXT 1h“verification_key”#我必须添加此记录来验证我的www.example.com领域

* 1小时 xxx.xxx.xx.xx

我认为使其工作的关键是将通配符映射到 DNS A ip。

答案2

映射基本域example.com并设置 DNS 记录,然后像下面这样映射另一个域,Google 就会生成一个使用CNAME记录的不同 DNS 配置。

*[master][~]$ gcloud beta run domain-mappings create --service=my-service --domain www.example.com
Creating......done.                                                                                                                                                                                                                      
Waiting for certificate provisioning. You must configure your DNS records for certificate issuance to begin.
NAME  RECORD TYPE  CONTENTS
www   CNAME        ghs.googlehosted.com.

我仍在等待 DNS 缓存到期以检查所有内容,但如果我现在不发布此内容,我将永远不会发布。

答案3

正如 @JohnHanley 的评论中提到的,正确的方法是为每个子域添加一个映射(www 也是一个子域),然后继续使用每个入口更新 DNS。为此,您可以按照以下步骤操作:

将自定义域映射到服务

  1. 在 Google Cloud Console 中打开域映射页面:域映射页面

  2. 在域映射页面中,单击添加映射。

  3. 从下拉列表中添加映射表单中,选择您要将自定义域映射到的服务:

  4. 输入域名。

  5. 单击“继续”。

  6. 您需要先验证域名的所有权,然后才能使用它,除非您是从 Google 购买域名。如果您要映射 subdomain.example.com,则应验证 example.com 的所有权。有关验证域名所有权的更多信息,请参阅 网站站长中心帮助

在域名注册商处添加 DNS 记录

在 Cloud Run 中将您的服务映射到自定义域后,您需要在域名注册商处更新 DNS 记录。Cloud Run 会生成并显示您需要输入的 DNS 记录,您可以检索每个条目的记录这里。您必须在域名注册商处添加指向 Cloud Run 服务的这些记录,映射才能生效。我想强调下一部分文档因为它提到了 www 子域名:

当您将上述每个 DNS 记录添加到 DNS 提供商的帐户时:

  1. 选择上一步中返回的DNS记录的类型:A,或者AAAA,或者CNAME。
  2. 使用名称 www 映射到www.example.com

www这是对子域名进行域名映射的正确方法

相关内容