CDN缓存302可能带来的问题
2020-08-03 本文已影响0人
RiverSouthMan
可能带来的问题
在对网站部署CDN后由于CDN的产品性质,CDN会对用户的访问资源缓存到CDN的节点上以便后续可以加快用户的访问,这种情况下就可能
会出现第一个用户访问后会对对应的302的请求进行缓存。而其他不同终端设备的用户通过该URL进行访问的时候就会出现访问到的页面情况仍然是第一个用户缓存的302的请求到的页面上。这就会造成用户源站设置的对不同终端的适配功能失效。
CDN和SLB等产品配合使用时的302跳转问题
有些客户会发现如果CDN后面配置SLB,直接访问SLB的话,没有问题。但是开启CDN后,会出现跳转死循环的现象
一个可能的原因是:。
SLB开启了https和http的访问端口,然后在源站做了http->https的跳转。
然而CDN配置加速域名时,只配置了源站的80端口。
这样通过CDN的https访问,CDN会默认回源到源站(即SLB)的80端口。http协议访问SLB的80端口会最终返回给client(即CDN L2回源几点)一个30X跳转到https,CDN再将这个结果返回给真正的用户,就形成了一个死循环。
解决办法:开启CDN的跟随协议回源功能,这样https访问CDN会通过https协议回源到源站的443端口,就不会出现死循环的现象。