我为 Amazon API Gateway API 配置了一个自定义域名。我无法连接到域名并收到 DNS 解析或 SSL 证书不匹配错误。如何解决此问题?
简短描述
您可以为 API Gateway API 创建两种类型的自定义域名:区域或(仅适用于 REST API)边缘优化。
解决方法
在为 API 创建自定义域名之前,您必须执行以下操作之一:
从 AWS Certificate Manager (ACM) 请求 SSL/TLS 证书。
–或者–
将 SSL/TLS 证书导入 ACM。
有关更多信息,请参阅在 AWS Certificate Manager 中准备好证书。
获得 SSL/TLS 证书后,您可以按照说明为我的 API Gateway API 设置自定义域名。
要连接到 API Gateway API 的自定义域名,您必须将 Amazon Route 53 配置为将流量路由到 API Gateway 端点。
如果自定义域名的 DNS 记录未映射到正确的 API Gateway 域名,则 SSL 连接将失败。这是因为系统默认将返回 *.execute-api.<region>.amazonaws.com 证书,而非 SSL/TLS 证书。
要确认 DNS 映射是否正确,请从客户端运行以下命令:
$ nslookup <customdomainname>
输出应该是 API 网关域名。确保域名与 API 网关域名相匹配。如果使用 Route 53 别名记录进行 DNS 映射,则输出为 IP 地址。确保 IP 地址与 API 网关域名 IP 地址相匹配。
注意:
- 配置 Route 53 时,必须创建公有或私有托管区。对于面向互联网的应用程序,想要将其资源提供给用户,请选择公有托管区。有关更多信息,请参阅使用托管区。
- Route 53 使用记录来确定将域的流量路由到何处。别名记录可以更轻松地对 AWS 资源进行 DNS 查询,而 CNAME(非别名)记录可以将 DNS 查询重定向到 AWS 资源之外。有关更多信息,请参阅在别名和非别名记录之间做出选择。
相关信息
将自定义域名迁移到其他 API 端点