CloudFlare 造成重定向的次数过多

当遇到CloudFlare导致的循环重定向问题,可以通过设置SSL/TLS加密模式为完全(Strict)来解决。这确保CDN回源时使用HTTPS,避免HTTP和HTTPS间的重定向冲突。此外,也可选择不设置HTTPS回源,让Cloudflare使用HTTP获取资源。配置更改后可能需等待一段时间或清除浏览器缓存以生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一句话解决

在 CloudFlare 的 SSL/TLS 菜单里将「SSL/TLS 加密模式」设置为完全(Strict)即可。

当网站开启了 CloudFlare 服务,用户访问我们的网站时,其实访问的离用户比较近的 Cloudflare 服务器,Cloudflare 再代理用户请求我们的源服务器,以达到加速和保护源服务器的目的。Cloudflare 代理用户请求我们源服务器获取网页资源的过程叫回源。

Cloudflare 造成循环重定向的错误就出在了回源的过程中,造成这种错误的原因就是 http 和 https 之间的重定向。

Cloudflare Crypto 的 SSL 中有 4 个选项 (如下),其中 Off 就是不启用 SSL,通过 HTTP 协议访问网站。另外 3 种是通过 HTTPS 协议访问网站。

 28b809a5c46286d5035cac5dec75ef31.png

知道了循环重定向的原因,我们也就知道了怎么解决这个问题,通过测试,下面的两种设置方法都可以解决 Cloudflare 循环重定向的问题。

SSL 中选择 Full (strict) 或者 Full (strict),让 CDN 回源的时候使用 HTTPS 的方式回源,没有 HTTP 什么事了,就不会跳来跳去了
源网站不设置 HTTPS 支持或者 不设置 HTTP 跳转 HTTPS,让 Cloudflare 回源的时候使用 HTTP 方式获取资源。
修改了 CloudFlare 设置后,可能需要过几分钟或清理浏览器缓存后才能生效。

 

### HTTP重定向次数过多 错误原因 当浏览器尝试加载网页时遇到 `ERR_TOO_MANY_REDIRECTS` 的错误提示,通常是因为服务器配置不当引起的连续重定向循环。具体来说: - **HTTP到HTTPS强制转换**:如果站点配置了从HTTP强制跳转至HTTPS的功能,而某些设置不正确,则可能导致无休止的来回跳转[^1]。 - **应用程序内部逻辑缺陷**:对于基于Java的应用程序而言,在处理请求前通过拦截器修改URL路径或协议类型时可能出现设计上的漏洞,进而引发StackOverflowError异常以及无限次转发现象[^2]。 - **第三方服务影响**:像CloudFlare这样的CDN服务商也可能成为问题根源之一。倘若其SSL/TLS模式设定为全站加密(Full SSL),但源站并未开启相应支持的话,同样会造成持续性的重定位行为[^3]。 - **框架特定实现**:以PHP为例特别是Laravel框架下,路由定义不合理或是中间件操作失误均能引起类似的状况发生[^4]。 ### 解决方案概述 针对上述提到的各种情况,可以采取如下措施来修复该类问题: #### 配置层面调整 确保Web服务器软件(如Apache、Nginx)中的虚拟主机部分已正确定义好监听端口及对应的默认文档位置;同时确认所有涉及安全策略的部分都指向同一个最终目标地址而不是形成闭环结构。 #### 应用层面上优化 检查并修正业务代码里有关于自动转向机制的相关片段,防止因条件判断失误而导致不必要的额外跳转动作。例如在编写Servlet Filter或者Spring MVC Interceptor组件期间要格外注意这一点。 #### CDN提供商处排查 如果是借助外部网络加速平台部署项目资源文件的话,建议登录对应管理后台仔细查看当前生效的安全选项是否合理,并按照官方指南逐步排除潜在风险因素。 #### 编程语言特性利用 根据不同编程环境的特点灵活运用内置函数库所提供的工具辅助解决问题。比如PHP开发者可考虑采用header()方法手动控制响应头信息从而绕过原有流程达到预期效果。 ```php // PHP示例:直接指定状态码和Location字段终止脚本执行 <?php header("HTTP/1.1 301 Moved Permanently"); header("Location: https://example.com/"); exit(); ?> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值