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

AWS ALB+TargetGroup无法通过CloudFront访问ECS中Spring Boot应用

排查CloudFront与ALB间的访问超时问题

以下是针对该场景的具体排查方向:

1. 核对CloudFront源配置细节

  • 确认源域名是否准确设置为ALB的完整DNS名称,排除拼写错误
  • 检查源协议策略:由于ALB监听HTTPS/443,需将CloudFront的源协议策略设置为HTTPS only,避免使用HTTP协议发起源请求导致ALB拒绝连接
  • 确认源端口配置为443,同时检查是否添加了不必要的自定义请求头部,或遗漏了ALB/后端应用依赖的头部信息

2. 验证CloudFront缓存行为配置

  • 检查路径匹配规则(如/bff/*)是否覆盖目标请求路径,确保请求被转发至正确的ALB源
  • 确认主机头转发设置:若ALB的SSL证书仅对应自身DNS名称,需将CloudFront的“转发主机头”设置为源域名(即ALB的DNS);若证书包含CloudFront的Route53域名,则可设置为查看器请求的主机头
  • 检查允许的HTTP方法列表,确保包含GET(actuator/health为GET请求),避免因方法限制导致请求被拦截

3. 检查网络与安全组连通性

  • 确认ALB安全组的443端口入站规则是否允许CloudFront的IP范围(当前设置为0.0.0.0/0已覆盖,但可验证是否存在其他出站限制导致ALB无法响应CloudFront请求)
  • 查看ALB的访问日志,确认是否收到来自CloudFront边缘节点的请求:若日志中无对应记录,说明请求在CloudFront到ALB的链路中被阻断

4. 分析日志定位问题

  • 开启CloudFront访问日志,查看请求的状态码、错误类型(如504超时表示CloudFront无法与ALB建立连接)
  • 结合ALB访问日志与目标组日志,确认请求是否到达ALB、是否成功转发至目标组:若ALB收到请求但未转发,需检查转发规则;若转发后无响应,需排查ECS容器的请求处理逻辑

5. 排查SSL证书与握手问题

  • 确认CloudFront的自定义SSL证书(对应Route53域名)有效且未过期,证书覆盖范围包含该域名
  • 验证CloudFront与ALB间的SSL握手:若ALB证书未包含CloudFront的Route53域名,当CloudForward转发查看器主机头时,会出现SSL握手失败,导致请求超时。此时需为ALB配置包含CloudFront域名的证书,或调整CloudFront的主机头转发规则

6. 核对Route53域名解析

  • 确认Route53中指向CloudFront的记录类型正确(推荐使用别名记录而非CNAME),且解析目标为CloudFront分配的域名
  • 使用nslookup或dig工具验证域名解析结果,确认是否指向正确的CloudFront边缘节点

7. 验证ALB转发规则与路径完整性

  • 检查ALB监听器的转发规则,确认是否将CloudFront的请求正确路由至目标组
  • 确认ALB转发请求时未修改路径(如路径重写),确保/bff/actuator/health完整传递至ECS容器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 21:57:21