Cloudflare SSL Full(Strict)模式下非SSL连接来源排查问询
首先,你的配置(Full(Strict) SSL、Always Use SSL启用、Heroku ACM生效)本身是符合HTTPS最佳实践的,但出现的非SSL流量统计可以从这几个方向逐一排查:
最常见的原因:初始HTTP入站请求
Cloudflare的「通过TLS提供的流量」统计里,「无(不安全)」指的是Cloudflare接收到的原始HTTP请求——也就是用户直接发起的http://请求(比如旧书签、未更新的外部外链、手动输入HTTP地址),这些请求在被Cloudflare重定向到HTTPS之前,会被计入这个分类。即使你开启了Always Use SSL,用户发起的初始HTTP请求还是会被Cloudflare统计到,这是最普遍的情况,尤其是如果你的站点之前长期使用HTTP,或者有大量外部链接还没切换到HTTPS的话,这个占比会持续存在一段时间。
其他可能的原因
1. 混合内容请求
如果你的HTTPS页面中加载了HTTP协议的资源(比如图片、JS脚本、CSS样式、第三方嵌入代码),浏览器会单独发起这些HTTP资源请求,这类请求会被Cloudflare统计为「无(不安全)」流量。你可以通过以下方式排查:
- 打开浏览器开发者工具(F12)的「网络」标签,过滤协议为
http,查看是否有来自你站点的资源请求; - 点击浏览器地址栏的锁图标,查看是否有「不安全内容」的提示。
解决办法:开启Cloudflare的「混合内容自动修复」功能(在SSL/TLS → 边缘证书页面),它会自动将页面中的HTTP资源链接重写为HTTPS;同时检查站点代码,确保所有内部资源引用使用相对路径或HTTPS绝对路径。
2. 服务端/第三方的HTTP请求
部分API调用、webhook、爬虫或者内部服务可能仍在使用HTTP协议请求你的域名,这类请求经过Cloudflare时也会被统计进去。你可以通过Cloudflare的「流量 → 请求」页面,过滤协议为HTTP的请求,查看:
- 请求的
User Agent字段,判断是否是爬虫或特定服务; - 来源IP地址,排查是否是已知的第三方服务或内部服务器。
3. 配置生效的细节问题
虽然你说配置已生效超24小时,但可以再确认两个点:
- Always Use SSL的设置是否为「重定向所有HTTP请求到HTTPS」(而非其他模式);
- 访问
http://你的域名,确认是否能立即301/302重定向到HTTPS,没有出现HTTP内容的加载。
排查步骤总结
- 查看Cloudflare流量日志中的HTTP请求详情,定位请求来源;
- 检查站点是否存在混合内容问题;
- 确认Always Use SSL的重定向逻辑正常工作;
- 开启混合内容自动修复,同时更新内部资源链接为HTTPS。
内容的提问来源于stack exchange,提问作者jsharpe

