无法通过CloudFront访问EC2的3000端口问题求助
问题排查:CloudFront无法访问3000端口
问题背景(翻译后)
我能通过公网IPv4 DNS访问3000端口,但无法通过CloudFront分发访问该端口。已在安全组入站规则中开放3000端口。CloudFront分发配置如下:
- 查看器协议策略:将HTTP重定向到HTTPS
- 缓存键和源请求:缓存策略与源请求策略(推荐)
- 协议信息:仅HTTP
核心排查步骤
- 核对CloudFront源端口配置:CloudFront默认用80(HTTP)或443(HTTPS)端口访问源,必须手动将源端口设置为3000,否则分发会向错误端口发起请求。
- 匹配源与CloudFront的协议:源仅支持HTTP,但查看器策略强制HTTPS跳转,需在CloudFront源配置的「源协议策略」中选择「仅HTTP」,避免CloudFront尝试用HTTPS访问源的3000端口导致连接失败。
- 确认安全组访问范围:除了开放3000端口,需确保CloudFront的边缘IP段能访问该端口——可直接允许所有IPv4/IPv6访问(业务允许的话),或添加AWS官方公布的CloudFront IP范围到入站规则。
- 检查源服务器本地防火墙:确认源服务器的系统防火墙(如iptables、Windows防火墙)未拦截3000端口的外部请求。
- 验证缓存与请求策略:当前使用推荐策略,需确认策略中无修改请求端口或协议的自定义规则,避免分发请求被篡改。
内容的提问来源于stack exchange,提问作者karan loona
相关产品推荐
相关产品推荐

