You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Lambda@Edge将ALB作为自定义源时CloudFront返回502错误

CloudFront切换自定义源到ALB报502错误的排查方案

1. 网络层面拦截检查

  • ALB安全组必须允许CloudFront官方IP段访问3000端口。可通过AWS CLI命令获取CloudFront前缀列表:aws ec2 describe-prefix-lists --prefix-list-ids pl-63a5400a,将对应的IP范围加入ALB安全组的入站规则。
  • 检查ALB所在VPC的网络ACL:入站规则放行CloudFront IP的3000端口流量,出站规则放行返回流量到CloudFront IP。

2. Lambda@Edge源配置细节验证

  • 协议与端口匹配:若ALB的3000端口监听的是HTTP协议,需将Lambda配置中的protocol: 'https'改为protocol: 'http'——SSL握手不匹配是502常见诱因。
  • Host头确认:若ALB目标组依赖Host头路由,需确保request.headers['host']的value与目标组路由规则一致(直接访问正常的话此点大概率没问题,但可交叉验证)。
  • 源请求阶段的Lambda@Edge需部署在us-east-1区域,否则可能出现跨区域配置同步问题。

3. CloudFront自定义源配置校验

  • 确认CloudFront后台添加的自定义源:域名、端口、协议策略需与Lambda代码中的配置对齐。即使Lambda会覆盖源配置,后台基础配置错误仍可能引发冲突。
  • 若启用了Origin Shield,需确保Origin Shield所在区域能正常访问ALB(可临时关闭Origin Shield测试)。

4. 日志定位问题

  • 查看CloudFront日志:重点关注502错误的细分代码,比如502.501表示SSL握手失败,502.503表示源超时,502.504表示源无响应。
  • 查看ALB访问日志:若日志中无CloudFront的请求记录,说明网络拦截;若有请求但返回错误,需排查ALB到ECS服务的链路。

5. Lambda权限与执行环境检查

  • 确认Lambda@Edge的IAM角色包含cloudfront:UpdateDistribution及边缘函数执行所需的基础权限,避免因权限不足导致源修改未生效。
  • 检查Lambda代码是否有语法错误或逻辑漏洞,比如未正确覆盖request.origin的所有必要字段。

内容的提问来源于stack exchange,提问作者Ezechiel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:29:53