仅允许CloudFront IP访问ALB时移除个人IP安全组后访问异常排查
可能的原因及排查方向
1. CloudFront IP段安全组配置错误
- 端口不匹配:检查你创建的3个CloudFront IP段安全组的入站规则,是否开放了ALB实际监听的端口(通常为80/443)。如果安全组开放的端口和ALB监听端口不一致,CloudFront的回源请求会被ALB的安全组拦截。你之前保留个人IP安全组时,该规则包含对应端口的放行策略,所以访问正常,移除个人IP安全组后只剩端口不匹配的CloudFront规则,自然无法访问。
- IP段范围错误:如果你是通过Lambda脚本或手动方式更新的CloudFront IP段,可能遗漏了CloudFront的回源IP段,或仅同步了部分区域的CloudFront IP。注意AWS公开的IP范围中,CloudFront分为边缘入口IP和回源IP两类,你需要放行的是回源IP段而非边缘入口IP段。如果使用AWS托管前缀列表,要确认选择的是
com.amazonaws.global.cloudfront.origin-facing全局前缀列表,而非区域级前缀列表。 - 协议适配问题:如果你的ALB开启了IPv6监听,或CloudFront默认使用IPv6回源,但你配置的CloudFront安全组仅放行了IPv4段,也会导致回源请求被拦截。
2. CloudFront回源配置异常
- 回源地址错误:检查CloudFront的源站设置是否为ALB的公网域名,如果误填为EC2直接地址、ALB内网域名,都会导致回源请求不走预期链路,无法匹配ALB上的CloudFront安全组规则。
- 回源端口/协议不匹配:确认CloudFront回源使用的端口、协议和ALB监听的端口、协议完全一致,比如ALB仅监听443 HTTPS,CloudFront回源用80 HTTP的话也会被安全组拦截。
3. 安全组关联逻辑错误
- 检查ALB当前关联的安全组是否确实包含你创建的3个CloudFront IP段安全组,移除个人IP安全组时可能误操作取消了CloudFront安全组的关联,导致ALB没有有效入站规则,所有请求都被拦截。
- 确认CloudFront安全组的入站规则没有额外限制,比如指定了特定的源安全组而非CloudFront IP段,或者规则处于禁用状态。
内容的提问来源于stack exchange,提问作者Kaguei Nakueka
相关产品推荐
相关产品推荐

