该网页无法正常运作,xxx将您重定向的次数过多

问题:

该网页无法正常运作,xxx将您重定向的次数过多

环境:

  • 浏览器:Chrome、Edge等
  • .DNS:域名服务商,转cloudflare.com(启用ssl)
  • NGINX:强制HTTPS

排查过程

1、清除浏览器缓存等,不起作用

2、NGINX关闭SSL证书,不起作用

3、关闭cloudflare.com的ssl,不起作用

4、域名服务商转发到cloudflare.com,用自带的解析,不起作用

5、本地排查

通过chrome://net-internals/#dns,查询域名的dns转发信息

发现最终还是走cloudflare.com的dns未知是缓存,还是什么引起

6、关闭cloudflare.com的代理状态为仅DNS

等待10分钟后,使用cmd进行tracert domain,发现正常了

其他

为什么使用cloudflare.com?

好处:它能隐藏IP,在nginx之前就实现了HTTPS。

坏处:使用人群很大,导致在国内因为风控等问题,可能出现DNS解析失败

### Nginx 重定向次数过多的原因分析 当遇到Nginx重定向次数过多的问题时,通常是因为配置不当导致请求在不同URL之间不断跳转而无法完成。具体原因可能涉及多个方面: - **HTTP与HTTPS之间的转换**:如果服务器配置了强制HTTPS访问,在某些情况下可能会造成无限循环的301或302重定向[^4]。 - **代理设置错误**:使用反向代理服务(如CloudFlare)可能导致类似的重定向问题,特别是当这些服务本身也进行了协议升级或其他形式的重定向操作时[^3]。 ### 解决方案概述 针对上述情况,可以采取以下措施来解决问题并优化配置: #### 方法一:调整SSL/TLS重定向逻辑 对于因HTTP至HTTPS转向引起的重定向循环,可以通过修改Nginx配置文件中的`server`块实现更合理的处理方式。确保只在一个地方执行一次性的永久重定向,并且避免重复定义相同的规则。 ```nginx server { listen 80; server_name example.com; # 只做简单的http->https转发, 不再额外添加其他业务路径重写 return 301 https://$host$request_uri; } ``` 同时,在监听443端口的服务里不再进行任何关于HTTP到HTTPS的重定向动作,而是专注于提供安全的内容响应。 #### 方法二:修正与第三方服务商集成的相关参数 如果是由于集成了像CloudFlare这样的外部CDN/缓存层而导致的问题,则需检查其设置是否合理。例如,确认页面规则(Page Rules)没有不必要的重定向指令;另外还要注意防火墙级别(Firewall Level)以及灵活SSL模式下的潜在影响。 此外,若已启用阿里云全球加速(CDN),则应按照官方指南正确配置CNAME记录指向,并指定合适的回源端口号(通常是443)。 #### 方法三:验证并更新本地DNS解析状态 有时即使完成了所有必要的更改,仍然会因为旧版DNS缓存的存在继续遭遇此问题。因此建议清除浏览器缓存、刷新本机DNS缓存(`ipconfig /flushdns`) 或等待较长时间让新的DNS记录传播开来后再尝试访问站点。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值