在使用CDN时配置源站30X的一些注意事项

简介: 301/302跳转是网站业务常见的一种处理手段,把针对其他域名的访问重定向到主要承担业务的域名上,在使用CDN的过程中,源站配置30X跳转有一些注意事项。

301/302跳转是网站业务常见的一种处理手段,把针对其他域名的访问重定向到主要承担业务的域名上。

但是如果使用CDN产品来对网站业务进行加速,有一些注意事项:

  • 源站配置跳转的30X location url是否也通过CDN进行了加速

正常情况下CDN会针对30X记录的做缓存,如果跳转url的流量没有走CDN的话,那么这种情况下,本质上客户的业务是没有被加速的,CDN只是缓存了一个30X的跳转记录。在这种情况下,一般控制台上看到的流量也会比较低(下图是控制台截图)。
image

如某客户发现自己CDN控制台流量突然变低,经测试发现访问客户的CDN域名都跳转301了,如下图所示:
20180723155638

可以看到访问客户的CDN域名下的url A出现了301跳转到url B。然后发现客户的url B并未通过CDN加速,所以实际上客户的客户在访问客户的网站业务时,主要流量没有被CDN加速,所以控制台看到流量有所降低。而这个301跳转是客户新配置的,配置后就发现了流量问题。

这种现象也可以通过CDN控制台的http状态码来观察,如果发现很高比例的30X,那么需要关心一下30X的地址是否也被CDN加速了。
image

  • CDN如何处理源站的302跳转

有关CDN对源站302的处理逻辑,可以参考官方文档
https://help.aliyun.com/knowledge_detail/40128.html?spm=5176.10695662.1996646101.searchclickresult.f22b3f46TfGxEp
值得注意的是以下内容和相应的解决方案:

在对网站部署CDN后由于CDN的产品性质,CDN会对用户的访问资源缓存到CDN的节点上以便后续可以加快用户的访问,这种情况下就可能会出现第一个用户访问后会对对应的302的请求进行缓存。而其他不同终端设备的用户通过该URL进行访问的时候就会出现访问到的页面情况仍然是第一个用户缓存的302的请求到的页面上。这就会造成用户源站设置的对不同终端的适配功能失效。

  • CDN和SLB等产品配合使用时的30跳转问题

有些客户会发现如果CDN后面配置SLB,直接访问SLB的话,没有问题。但是开启CDN后,会出现跳转死循环的现象

一个可能的原因是:

  1. SLB开启了https和http的访问端口,然后在源站做了http->https的跳转。
  2. 然而CDN配置加速域名时,只配置了源站的80端口。
  3. 这样通过CDN的https访问,CDN会默认回源到源站(即SLB)的80端口。http协议访问SLB的80端口会最终返回给client(即CDN L2回源几点)一个30X跳转到https,CDN再将这个结果返回给真正的用户,就形成了一个死循环。

解决办法是开启CDN的跟随协议回源功能,这样https访问CDN会通过https协议回源到源站的443端口,就不会出现死循环的现象。感兴趣的朋友们可以搭建一个类似的链路进行一下测试。

谢谢大家

目录
相关文章
|
1月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
167 1
|
3月前
|
域名解析 网络协议 CDN
CDN配置CNAME
CDN配置CNAME
58 6
|
3月前
|
安全 算法 网络安全
CDN:配置HTTPS证书
CDN:配置HTTPS证书
48 1
|
3月前
|
负载均衡 网络协议 Serverless
CDN配置源站
阿里云CDN支持的源站类型包括OSS域名、IP、源站域名和函数计算域名,每种源站类型都支持配置多个源站地址,多源站场景下,支持设置源站的主备优先级和权重,实现负载均衡
49 3
|
3月前
|
域名解析 缓存 负载均衡
CDN配置前置条件
CDN配置前置条件
36 1
|
3月前
|
缓存 前端开发 API
云:CDN配置思路-1
云:CDN配置思路-1
111 2
|
11月前
|
域名解析 缓存 负载均衡
CDN实践配置+原理篇
CDN实践配置+原理篇 前几天配置了下自己在阿里云的对象存储中的CDN加速,这里记录写个教程为引入,来讲解一下CDN的相关原理及过程,希望对你有所帮助
598 0
|
域名解析 缓存 运维
|
缓存 CDN
CDN添加缓存配置
CDN添加缓存配置自制脑图
137 0
CDN添加缓存配置
|
CDN
CDN配置回源host及自定义404
CDN配置回源host及自定义404自制脑图
133 0
CDN配置回源host及自定义404