SDS301 CDN 是一个涉及到内容分发网络(CDN)和Web应用防火墙(WAF)的技术性问题,具体表现为在启用CDN和WAF后,访问网站时出现301循环重定向的现象,以下是对这一问题的详细分析:
SDS301 CDN 问题概述
1、问题现象:
客户反馈在将CDN加速域名解析切换到CDN的CNAME之后,访问网站时出现301循环重定向的问题。
2、业务架构:
测试直接访问WAF(阿里云CDN源站),响应301 Redirect;
测试直接访问AWS CloudFront(阿里云WAF源站),可以正常访问到网站内容。
3、分析验证:
CDN/WAF回源时的请求与直接访问源站时的请求有区别,导致源站做出了不同的响应结果。
最常见的一种情况是http>https的跳转,通过http直接访问AWS CloudFront,可以看到AWS响应了301 Redirect,重定向到https。
4、解决方案:
关闭WAF上的“Enable HTTP backtosource”开关,使WAF回源时使用https协议。
关闭CDN上的“Use the same protocol as the backtosource protocol”的开关,强制CDN使用https协议回源WAF。
清空CDN上301状态的缓存,进行手工刷新操作。
5、新的问题:
部分PC、手机上访问网站还是会出现301循环重定向的情况,同一台电脑上的不同浏览器,有些正常,有些不正常。
6、分析测试:
一些CDN节点上还有301状态的缓存,可能是刷新没有完全成功。
当有http的请求发到AWS上时,AWS响应的301 Redirect的响应头中没有nocache的header,导致CDN缓存住301的状态。
7、彻底解决:
关闭“Use the same protocol as the backtosource protocol”的开关。
在阿里云CDN上配置http > https的跳转。
手工刷新CDN缓存,测试全部恢复正常。
CDN/WAF访问协议处理流程附录
CDN和WAF在处理访问请求时,会根据配置的协议进行回源和响应,不当的配置可能导致301循环重定向等问题。
SDS301 CDN 问题主要涉及到CDN和WAF的协议处理,以及缓存管理,通过正确配置和清理缓存,可以有效解决301循环重定向的问题。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1226585.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复