通过CDN访问源站提示重定向的次数过多(阿里云)

Uisum这个站访问体验不好,开了阿里云的个人版CDN。配置过程其实很简单,但有个坑踩过了才知道。

Ghrome 浏览器提示 重定向次数过多

按提示清除Cookie后还是不行。然后试Safari浏览器:

Load cannot follow more than 20 redirections

再试FireFox浏览器:

The page is’t redirecting properly

结果都一样。

因为在配置CDN之前并不存在这个问题,初步判断是CDN配置跟源站设置的某的地方不太对了。

网站后台使用的宝塔面板,配置CDN的时候启用的HTTPS增值服务(这地方可能没设置好)。这可能会与宝塔里面的SSL设置有些冲突。

问题就在于这个“强制HTTPS”

导航至网站设置页面的SSL配置标签将,“强制HTTPS”的按钮关闭如上图。问题得到解决。

原因分析:

CDN的回源端口设置为80,而源站又开启了HTTP重定向至HTTPS的功能,这样的话客户端无论是通过HTTP还是HTTPS访问CDN加速域名时,CDN在回源的时候都是使用HTTP请求源站,此时会触发源站的HTTPS强制跳转逻辑,然后源站会要求CDN重新发送一个HTTPS的请求,但是CDN仍然会发送HTTP请求,就会出现反复重定向问题。

阿里给出了2个解决方案:

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

方案二:如果不希望将CDN的回源端口改成443,仍希望CDN以HTTP协议回源,这种情况下可以考虑关闭源站的HTTP重定向至HTTPS的强制跳转功能。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.