如何解决我的 API Gateway 自定义域名的 DNS 解析或 SSL 证书不匹配错误?

1 分钟阅读
0

我为我的 Amazon API Gateway API 配置了自定义域名。我无法连接到域名并收到 DNS 解析或 SSL 证书不匹配错误。

简短描述

您可以为 API Gateway API 创建两种类型的自定义域名: 区域型或(仅适用于 REST API)边缘优化型

解决方法

在为 API 创建自定义域名之前,必须执行以下任一操作:

向 AWS Certificate Manager (ACM) 请求 SSL/TLS 证书。
-or-
将 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 Gateway 域名。确保域名与 API Gateway 域名相匹配。如果使用 Route 53 别名记录进行 DNS 映射,则输出的是 IP 地址。确保该 IP 地址与 API Gateway 域名 IP 地址相匹配。

注意:

  • 配置 Route 53 时,必须创建公共托管区或私有托管区。如果面向互联网的应用程序要向用户提供资源,请选择公共托管区。有关更多信息,请参阅 Working with hosted zones
  • Route 53 使用记录来确定域流量的路由目的地。别名记录可以更轻松地为 AWS 资源提供 DNS 查询,而 CNAME(非别名)记录可以将 DNS 查询重定向到 AWS 资源之外。有关详细信息,请参阅 Choosing between alias and non-alias records

相关信息

将自定义域名迁移至 API Gateway 中的其他 API 端点类型

AWS 官方
AWS 官方已更新 3 个月前