CloudFront访问ALB报502错误问题排查求助
问题排查与解决建议
一、CloudFront源配置检查
- 确认CloudFront源域名已正确设置为
alb.domain.com,且源协议策略与ALB监听协议匹配:若ALB监听HTTPS,需将策略设为HTTPS only或Match viewer,禁止选择HTTP only。 - 检查源端口配置:ALB的HTTPS监听端口为443,确保CloudFront源端口设置为443而非80。
- 验证ALB安全组规则:将CloudFront的IP地址范围添加到ALB安全组的入站规则中,允许443端口的访问。
二、SSL证书与握手问题
- 确认ALB绑定的SSL证书覆盖
alb.domain.com域名,且证书状态有效(未过期、信任链完整)。CloudFront与ALB握手时,证书不匹配或无效会直接触发502错误。 - 检查ALB的SSL策略:确保策略支持TLS 1.2及以上版本(CloudFront默认使用TLS 1.2,过低的协议版本会导致握手失败)。
- 若使用AWS ACM证书,需确认证书部署在ALB所在的AWS区域,且证书已正确关联到ALB的HTTPS监听器。
三、Route 53与域名解析问题
- 确认
alb.domain.com的Route 53记录为A记录(别名类型),直接指向ALB的别名目标(而非静态IP或CNAME记录)——ALB IP动态变化,别名记录才能保证解析正确性。 - 验证域名解析:在本地执行
nslookup alb.domain.com或dig alb.domain.com,确认解析结果为ALB的官方端点(格式类似xxxx.us-west-2.elb.amazonaws.com)。 - 临时替换源域名测试:将CloudFront源改为ALB的AWS官方域名,若访问恢复正常,说明问题出在
alb.domain.com的证书匹配或解析环节。
四、CloudFront行为与请求头配置
- 检查
/api路径的行为规则:确认请求已正确路由到alb.domain.com源,且路径转发设置符合预期(若后端服务依赖/api前缀,需保留该路径,避免不必要的路径重写)。 - 配置Host头转发:CloudFront默认会移除Host头,而ALB的证书绑定了
alb.domain.com,需在CloudFront行为的自定义请求头中添加规则,将Host头设置为alb.domain.com,保证请求与ALB证书域名匹配。 - 临时禁用缓存:暂时将缓存策略设为
无缓存,排除缓存规则导致的502错误。
五、日志定位问题
- 开启CloudFront访问日志与错误日志:日志中的
x-amz-cf-id字段可关联到具体错误细节,比如SSL connect error表示握手失败,DNS resolution error表示域名解析失败。 - 开启ALB访问日志:若日志中无对应请求记录,说明请求在CloudFront到ALB的传输阶段被阻断;若有记录但返回错误,需排查后端ECS服务的配置(但直接访问ALB正常,此情况概率较低)。
内容的提问来源于stack exchange,提问作者Bee Hive
相关产品推荐
相关产品推荐

