CDN访问异常篇之重定向的次数过多-阿里云开发者社区

开发者社区> 胡夫> 正文

CDN访问异常篇之重定向的次数过多

简介: 用户配置了阿里云CDN或者全站加速后,使用浏览器进行访问,出现重定向的次数过多的错误。
+关注继续查看

问题描述

配置了阿里云CDN或者全站加速后,使用浏览器进行访问,出现如下错误提示。

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

问题原因

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

分析过程

1.打开浏览器的开发者模式,切换至Network标签页,然后重新访问源站,发现出现无限301重定向的情况。image.png
2.使用HTTP协议访问源站域名进行测试,确认源站开启了HTTP重定向至HTTPS的功能,并且确认CDN控制台上配置的回源端口为80。

解决方法

本文介绍如下三种解决方法,请根据实际情况选择具体的方法。
方法一
登录CDN控制台,在域名管理页面单击目标域名对应的管理,然后单击 修改配置,将CDN的回源端口设置为443,并单击 确定。设置为443端口以后,CDN回源时会以HTTPS协议请求源站,就不会触发源站的强制跳转逻辑。image.png

方法二
协议跟随回源设置为“跟随”。设置为跟随以后,源站发起HTTPS重定向以后,CDN回源协议跟随为HTTPS回源。

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

特别注意

如果按照上述建议修改配置以后问题还未解决,则可能是301被CDN节点缓存了,需要刷新下CDN的缓存,具体请参考刷新缓存操作。下面是一个异常现象的案例,访问HTTPS的URL以后,301重定向Location到同样的HTTPS地址,从Response Headers里可以看到301被CDN HIT缓存住了。
image.png

更多信息

由于使用了CDN,且客户端的请求都是先请求到CDN节点。如果希望CDN节点获取客户端的请求是HTTPS协议时,可以在CDN控制台上设置HTTP强制跳转,具体信息请参考配置强制跳转

适用于

CDN
全站加速

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
void 类型的指针|学习笔记
快速学习 void 类型的指针
3 0
来更快的Maven了,我的天,速度提升了8倍!(1)
更快的Maven来了,我的天,速度提升了8倍!(1)
32 0
试用阿里云ecs
第一次试用,发现功能很强大
26 0
Spring Boot Admin,贼好使!(7)
Spring Boot Admin,贼好使!(7)
18 0
Chrome_Browse
亮点介绍 1、使web项目通过Chrome_Browse调用各种硬件; 2、使web项目通过Chrome_Browse控制缓存; 3、使web项目通过Chrome_Browse控制PC权限(通f过获取CPU、硬盘的编号可以与后台数据库交互进行鉴权); 4、其他更多的与windows交互的功能;
10 0
C 语言项目_项目流程|学习笔记
快速学习 C 语言项目_项目流程
6 0
常量和变量_helloworld 程序|学习笔记
快速学习常量和变量_helloworld 程序
3 0
const 关键字|学习笔记
快速学习 const 关键字
6 0
常量和变量_getchar函数|学习笔记
快速学习常量和变量_getchar函数
3 0
常量和变量_C语言简介|学习笔记
快速学习常量和变量_C语言简介
4 0
+关注
胡夫
阿里云OSS+CDN+直播点播视频云..
31
文章
3
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载