HTTP 502 状态代码(DNS 错误) - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

HTTP 502 状态代码(DNS 错误)

错误代码为 NonS3OriginDnsError 的 HTTP 502 错误表示存在 DNS 配置问题,导致 CloudFront 无法连接到源。如果您从 CloudFront 收到此错误,请确保源的 DNS 配置正确且有效。

当 CloudFront 收到针对已过期或不在缓存中的对象的请求时,它会向源发出请求,以获取该对象。为了成功向源发出请求,CloudFront 会对源域名执行 DNS 解析。如果您的域的 DNS 服务出现问题时,CloudFront 将无法解析域名以获取 IP 地址,从而导致 HTTP 502 错误 (NonS3OriginDnsError)。要修复此问题,请联系您的 DNS 提供商,或者,如果您使用的是 Amazon Route 53,请参阅为什么我无法访问使用 Route 53 DNS 服务的网站?

要进一步解决该问题,请确保源的根域或顶级域(如 example.com)的权威名称服务器运行正常。您可以通过 dignslookup等工具,使用以下命令查找顶级源的名称服务器:

dig OriginAPEXDomainName NS +short
nslookup -query=NS OriginAPEXDomainName

如果您有名称服务器的名称,请使用以下命令针对这些名称查询源的域名,以确保每个查询都会得到响应:

dig OriginDomainName @NameServer
nslookup OriginDomainName NameServer
重要

确保使用连接到公共互联网的计算机执行此 DNS 故障排除。CloudFront 使用互联网上的公有 DNS 解析源域名,因此在类似环境中进行故障排除非常重要。

如果您的源是一个子域,其 DNS 权限被委托给与根域不同的域名服务器,请确保为该子域正确配置域名服务器 (NS) 和授权起始点 (SOA) 记录。您可以使用与上述示例类似的命令来检查这些记录。

有关 DNS 的更多信息,请参阅 Amazon Route 53 文档中的域名系统 (DNS) 概念