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

求助:Cloudflare无法HTTPS访问EC2上的React应用,IPv4访问正常

可能的问题及排查方向
  • Cloudflare SSL/TLS模式不匹配
    要是你EC2上已经配置了有效的SSL证书(比如Let's Encrypt),得确保Cloudflare的SSL/TLS模式设置为「完全」或「严格」。如果当前是「灵活」模式,Cloudflare会以HTTP方式向EC2发起请求,但你的EC2现在只监听HTTPS,必然会连接失败;反之,如果EC2用的是自签名证书,「严格」模式会因为证书不被信任而拒绝连接,此时可以先切换到「完全」模式测试。

  • EC2安全组未放行Cloudflare代理IP段
    直接用IPv4能访问HTTPS,说明EC2的443端口对你的本地IP是开放的,但Cloudflare是反向代理,请求实际来自Cloudflare的IP池。如果EC2安全组的443端口只允许了你的IP访问,没添加Cloudflare的全部代理IP段,就会导致域名访问被拦截。需要把Cloudflare公布的所有IPv4/IPv6段添加到EC2安全组的443入站规则里。

  • Cloudflare缓存或DNS未生效
    修改HTTPS配置后,Cloudflare可能缓存了旧的HTTP响应或DNS记录。可以手动在Cloudflare控制台的「缓存」页面点击「清除全部缓存」,同时检查DNS记录的TTL值,要是TTL设得太长,可能得等一会儿让全球节点同步,或者手动刷新本地DNS缓存。

  • SSL证书域名覆盖问题
    检查EC2上安装的SSL证书,确认证书里包含你用来访问的Cloudflare域名(比如example.com或*.example.com)。如果证书仅针对EC2的IPv4地址或其他无关域名,浏览器访问域名时会出现证书不匹配错误,导致页面加载失败,但直接访问IPv4时证书是匹配的,所以能正常打开。

  • React应用存在硬编码HTTP资源引用
    看看create-react-app构建后的代码,有没有硬编码的HTTP资源地址(比如API请求、静态资源链接)。当页面以HTTPS加载时,浏览器会阻止混合内容(HTTP资源在HTTPS页面中加载),导致页面无法正常渲染。可以打开浏览器开发者工具的「控制台」查看是否有混合内容报错,解决办法是把所有资源引用改成相对路径或HTTPS地址。

  • Cloudflare规则冲突
    检查Cloudflare的「页面规则」或「重定向规则」,有没有强制HTTP跳转的规则,或者其他会干扰HTTPS请求的配置。比如之前设置过http://*example.com/*跳转到HTTP地址,现在得更新成HTTPS相关的规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:25:11