在使用CDN时配置源站30X的一些注意事项-阿里云开发者社区

开发者社区> 拱卒> 正文

在使用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端口,就不会出现死循环的现象。感兴趣的朋友们可以搭建一个类似的链路进行一下测试。

谢谢大家

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

相关文章
代理 XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 来启用“代理 XP”
新建维护计划的时候遇到下图的报错信息  标题: Microsoft SQL Server Management Studio------------------------------ “代理 XP”组件已作为此服务器安全配置的一部分被关闭。
1778 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
7424 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
9136 0
CPU再烂,俺也支持虚拟化呀,再附送64位WINDOWS的IIS上配置支持PHP的注意事项
原来要对IIS进行降权,让他可以支持32位程式     cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1iisreset ...
696 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
10738 0
【CDN 常见问题】CDN 接入配置及常见问题
CDN顺利接入线上系统的域名是每个客户头疼的问题,本文档通过详述CDN接入配置各步骤配置以及每部设置常遇到的疑惑点进行解惑,让客户可以将顺利迁移至CDN提供加速服务。
401 0
C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)
原文:C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 前言:上篇C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.config的过程,操作起来是相对比较简单的,只要知道了博主提供的方法,相信都不是问题,其实博主当初寻找相关方法配置IIS和Web.config的时候也是费了九牛二虎之力的,毕竟资料太少,只能各种方式挨个尝试一遍,解决问题之后回过头来看,发现当初也是走了很多的弯路。
1010 0
在windows平台下使用vscode当golang开发环境的配置
一、使用的平台与软件: 1、window 7 或者10,注意必须是64位,否则不能使用delve debug 2、go1.11.5.windows-amd64.msi 3、Git-2.20.1-64-bit.exe 4、VSCodeUserSetup-x64-1.31.1.exe 二、安装git,golang,vscode git软件全部使用缺省配置即可,安装完成后也不需要做太多配置; golang一般缺省安装在C:\go下 重点是需要设置GOPATH的环境变量。
2810 0
+关注
2
文章
0
问答
来源圈子
更多
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载