为 Cloud Endpoints API 创建门户时,该门户默认托管在由 Google 拥有和管理的 cloud.goog
网域中。门户的默认网址采用以下格式,其中 YOUR_PROJECT_ID
是您向其部署 Endpoints 配置的相应 Google Cloud 项目:
https://endpointsportal.YOUR_PROJECT_ID.cloud.goog即使您在 OpenAPI 文档的
host
字段中指定了自定义网域(例如 example.com
或 my-api.example.com
),这也仍是默认网址。
如果您希望您 API 的用户使用自定义网域访问您的门户,则需要在域名注册商处配置 Cloud Endpoints 门户和 DNS 设置。向门户添加自定义网域时,Endpoints 门户会显示 DNS 记录的类型以及您需要在域名注册商处配置的其他信息。
本页介绍如何将 Endpoints 门户配置为使用自定义网域,对于每项任务,本文都指出了完成该任务所需最低权限对应的 Identity and Access Management 角色。如需详细了解 IAM 权限,请参阅以下内容:
前提条件
本指南假设您已满足以下前提条件:
添加自定义网域
- 在 Google Cloud Console 中,转到项目的 Endpoint &开发者门户页面。
- 点击添加自定义网域。
- 输入根域名或子域名。
- 点击继续以添加网域。
Endpoints 门户会显示更新 DNS 记录。通过您的域名注册商为更新 DNS 记录部分中列出的所有记录添加 DNS 记录。
如果您输入了类似
example.com
的根网域,更新 DNS 记录部分将显示带 IP 地址的 A 记录和 AAAA 记录的列表。例如:类型 数据 别名 A 198.51.100.0 - A 198.51.100.2 - A 198.51.100.4 - A 198.51.100.6 - AAAA 2001:db8:ffff:32::15 - AAAA 2001:db8:ffff:34::15 - AAAA 2001:db8:ffff:36::15 - AAAA 2001:db8:ffff:38::15 - 为域名添加多个 A 记录和 AAAA 记录的配置步骤和术语因您的域名注册商而异。如果您不确定这些内容,请在相关域名注册商的文档中搜索“record set”(记录集)或“multiple responses”(多个响应)之类的术语。
如果您输入了类似
apidocs.example.com
的子网域,则更新 DNS 记录部分会显示 CNAME。例如:类型 数据 别名 CNAME ghs.googlehosted.com apidocs
点击完成。
要访问门户,请点击自定义网域链接。该自定义网域链接最长可能需要 24 小时才能生效,具体取决于 DNS 记录的传播情况。
仅当您通过域名注册商添加了 DNS 记录后,Google 才会预配 SSL 证书。在此之前,您的门户无法使用自定义网域,即便使用 http://
也是如此。不过,您可以继续使用 Endpoints > 开发者门户页面上显示的默认网址。
查看要添加到 DNS 的信息
如需查看您需要添加到(或者已经添加到)域名注册商处的信息,请执行以下操作:
- 在 Google Cloud Console 中,转到端点 & 开发者门户页面。
- 选择 API 所属的 Google Cloud 项目。
- 点击自定义网域旁边的 DNS 详情。
删除自定义网域
- 在 Google Cloud Console 中,转到项目的 Endpoint & 开发者门户页面。
- 点击自定义网域的 DNS 详情旁边的删除 。
- 在确认对话框中点击删除。
问题排查
添加自定义网域失败并显示一般错误。造成该问题的原因可能很多。请确保门户的默认网址 endpointsportal.YOUR_PROJECT_ID.cloud.goog
可以正常运作。如果默认网址无法运作,请删除门户,然后按照为 Endpoints API 创建门户中所述的步骤重新创建。
添加自定义网域失败,但该网域仍显示在主页面的表格中。这是一个已知问题。如需解决此问题,请删除自定义网域,然后重新添加。
点击“DNS 详情”后,系统会显示一个空表格,其中未包含任何可供添加的记录。如果添加自定义网域失败,但该网域仍然显示在表格中,就会发生这种情况。如需解决此问题,请删除自定义网域,然后再重新添加。
自定义网域链接不起作用。您需要确保已通过域名注册商正确添加了 DNS 记录。自定义网域最多可能需要 24 小时才能运作。
我无权添加自定义网域。您至少需要拥有项目的 Project Viewer 角色和 Endpoints Portal Admin 角色。项目的 Project Editor 角色也可提供所需权限。如需了解详情,请参阅创建和管理自定义角色。
我想要重复使用我的 App Engine 应用已在使用的同一个域名。一个特定域名只能供一个 Web 应用使用。您的 App Engine Web 应用和门户不能使用相同的域名。请使用唯一的域名。
后续步骤
了解:
- Endpoints Portal Admin 角色的权限
- 在门户中试用 API