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

CloudFront与ALB连接异常问题排查及无头部安全验证配置咨询

CloudFront与ALB连接异常问题排查及无头部安全验证配置咨询

Hey John, 我来帮你捋捋这个CloudFront通过ALB连EC2时出现404的问题,咱们一步步排查解决:

  • 检查CloudFront行为的路径优先级与匹配规则
    你提到给新端口的ALB Origin配置了特定路径的行为,这里要注意CloudFront的行为是按优先级(数字越小越先匹配)来执行的。如果新配置的行为路径范围太宽(比如/*),优先级又比原来正常的行为高,就会把原本指向旧ALB监听的请求给“抢”走,导致请求到了新端口的ALB上,但那边可能没有对应服务,自然返回404。
    建议你调整行为优先级:把原来正常访问的路径行为设为更高优先级(比如优先级0),新路径的行为设为更低优先级(比如优先级1),确保路径匹配不会冲突。

  • 验证ALB新端口的监听与目标组配置
    虽然你直接访问ALB DNS正常,但要确认CloudFront配置的Origin参数和ALB监听完全一致:

    • 端口号是否正确?比如CloudFront设的是8080,ALB监听的却是8090,这肯定连不上;
    • 协议是否匹配?如果ALB监听的是HTTPS,CloudFront Origin也要设为HTTPS,反之亦然;
    • 目标组状态是否正常?新端口对应的目标组里的EC2实例是不是健康,安全组有没有放行该端口的流量(要允许CloudFront的IP段访问,你可以用AWS提供的CloudFront前缀列表来配置ALB安全组,比手动加IP更方便)。
  • 确认CloudFront配置已部署生效并清除缓存
    CloudFront修改配置后,需要10-20分钟才能全部分发节点部署完成,要是刚改完就测试,可能部分节点还是旧配置,导致异常。你可以在CloudFront控制台查看分发的部署状态,显示“Deployed”后再测试。
    另外,之前的请求可能被缓存了,试试用浏览器隐私模式访问,或者在URL末尾加?cache=random123这类参数绕过缓存,看看是不是缓存导致的旧结果。

  • 无头部安全验证的配置要点
    如果你不想依赖头部做安全验证,要注意这几点:

    • 不要在CloudFront行为里配置强制校验的自定义头部(比如不要加X-Origin-Verify这类需要ALB验证的头部);
    • ALB那边也不要设置基于请求头部的路由规则或访问限制;
    • 确保CloudFront和ALB之间的SSL证书是可信的:如果ALB用的是AWS ACM颁发的证书,CloudFront默认会信任,不需要额外配置;如果是自定义证书,要确保CloudFront的信任链包含该证书。

备注:内容来源于stack exchange,提问作者john_smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:54:52