启用百度云加速HTTPS后访问网站显示重定向次数过多原因

 更新时间:2020-5-20 09:40  
我特地咨询了下官方技术,得到的原因是该用户启用了半程加密,半程加密节点请求的是HTTP端口的,而客户源服务器本来就是部署了HTTPS,而且是强制跳转HTTPS的,导致节点无法正常请求HTTP端口,也就出现了重定向次数过多的问题。

最近有一站长在启用百度云加速HTTPS的时候,网站出现了问题:

该网页无法正常运行 zhuxianfei.com将您重定向的次数过

将您重定向的次数过多。
尝试清除 Cookie.
ERR_TOO_MANY_REDIRECTS

一、问题原因

源站开启了HTTP重定向至HTTPS的功能,并且CDN控制台上配置的回源端口为80。在这种情况下,由于CDN回源端口为80,客户端无论是通过HTTP还是HTTPS访问CDN加速域名时,CDN在回源的时候都是使用HTTP请求源站,此时会触发源站的HTTPS强制跳转逻辑,然后源站会要求CDN重新发送一个HTTPS的请求,但是CDN回源的时候仍然会发送HTTP回源请求,然后再进行跳转,以此类推,就会出现反复重定向问题,最终导致出现报错。

我特地咨询了下官方技术,得到的原因是该用户启用了半程加密,半程加密节点请求的是HTTP端口的,而客户源服务器本来就是部署了HTTPS,而且是强制跳转HTTPS的,导致节点无法正常请求HTTP端口,也就出现了重定向次数过多的问题。

后来发现使用阿里云的cdn加速 https 也一样会出现这个问题

二、解决方法

解决办法很简单,把HTTPS加速模式调为全程加密模式即可。

如果你是用的阿里云的CDN,那么就这样解决

登录CDN控制台,在域名管理页面单击目标域名对应的管理,然后单击 修改配置,将CDN的回源端口设置为443,并单击 确定。设置为443端口以后,CDN回源时会以HTTPS协议请求源站,就不会触发源站的强制跳转逻辑。