跳至内容

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

1 分钟阅读
0

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

解决方法

解决公共 API 自定义域错误

要连接到公共 API Gateway API 的自定义域名,必须配置 Amazon Route 53 以将流量路由到 API Gateway 端点

如果未将自定义域名的 DNS 记录映射到正确的 API Gateway 域名,则 SSL 连接将失败。这是因为返回了默认的 *.execute-api.<region>.amazonaws.com 证书,而不是 SSL/TLS 证书。

要检查您是否已正确映射 DNS 记录,请运行以下命令:

nslookup custom-domain-name

**注意:**将 custom-domain-name 替换为您的自定义域名。

输出将返回 API Gateway 域名。确保自定义域名与 API Gateway 域名相匹配。如果使用 Route 53 别名记录来映射您的 DNS,则输出将返回 IP 地址。确保该 IP 地址与 API Gateway 域名 IP 地址相匹配。

解决私有 API 自定义域错误

要连接到私有 API Gateway API 的自定义域名,必须配置 Route 53 以将流量路由到虚拟私有云 (VPC) 端点 DNS 名称

要检查映射的 DNS 记录是否正确,请运行以下命令:

nslookup custom-domain-name

**注意:**将 custom-domain-name 替换为您的自定义域名。

输出将返回 execute-api VPC 端点的私有 IP 地址。确保 IP 地址与您使用 API Gateway 配置的 VPC 端点子网的 IP 地址相匹配。

验证您是否在自定义域名和 execute-api VPC 端点之间创建了域名访问关联

要检查您是否创建了域名访问关联,请运行以下命令:

curl https://custom-domain-name/resource-path

**注意:**将 custom-domain-name 替换为您的自定义域名,将 resource-path 替换为您的资源路径。

如果您创建了关联,则输出将返回来自您的集成端点的响应。如果您没有创建关联,则 SSL 连接将失败,并显示错误消息“SSL:没有其他证书主题名称与目标主机名相匹配”。

**注意:**在 Route 53 中为区域边缘优化公共 API 配置自定义域名时,必须创建公共托管区。如果公共应用程序要向用户提供资源,请选择公共托管区。

当您为私有 API 创建自定义域时,必须创建私有托管区并将您的客户端 VPC 连接到该托管区。

Route 53 使用记录来确定域流量的路由目的地。您可以选择使用别名记录或 CNAME 记录

相关信息

在 AWS Certificate Manager 中准备证书

如何为 API Gateway API 设置自定义域名?

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