最近负责的系统安全要求接入CDN,避免DDOS之类攻击,然后华丽丽踩了两个大坑。回顾问题原因后,发现还是相关人员都对CDN原理不够熟悉、了解导致。
坑一:默认支持的文件上传最大是300M
问题现象:
接入CDN后,连续两个用户反馈视频上传失败。系统对视频最大长度有限制,一开始引导用户确认时长,后来给力的用户居然定位到精超过300M就上传失败。
问题原因:
1.除了接入CDN,系统未进行任何变更,因此很快定位到是接入CDN导致。
2.跟阿里云咨询,确认如下:默认支持的最大文件为300M;可以申请放开限制,但最大只支持2G。因此,涉及4K、高清视频上传的业务要注意。
3.一般上传类业务比较少接入CDN。
坑二:链路经过两层阿里云CDN,会出现508响应
问题现象:
系统有一个功能是文件直接上传到阿里云,会返回一个CDN的地址。直接访问返回的CDN地址,国内可以正常访问;国外无法访问,http响应code为508,loop detected(服务器在处理请求时陷入死循环).
问题原因:
1.该功能是一直存在的,此次新增的接入CDN的域名包含该CDN回源的地址,因此会经过两层阿里云CDN(链路:CDN域名(CDN1)-->新接入CDN的域名(CDN2)-->服务),就出现问题。
2.这种应该是CDN厂商都会进行处理的,避免在CDN节点之间无限循环,回源的时候就应该直接到源站。比较奇怪的是,国内的访问几乎没问题,国外访问才出现问题,应该是概率性问题。
附录:另一种CDN常见的508错误
问题现象:
访问CDN上的HTTPS资源出现508的错误,但是直接访问源站正常。
问题原因:
508 错误是重定向回环的错误,该错误一般是由于用户在CDN开启HTTPS服务,并且设置回源端口为 80;而源站设置了80端口强制跳转 HTTPS协议,这样就会导致该请求又重新请求到CDN节点上,出现重定向回环,因此建议 HTTP和HTTPS协议之间的跳转功能可以直接在 CDN 控制台进行设置即可。
阿里云CDN接入踩坑记录的更多相关文章
-
华为云kafka POC 踩坑记录
2019/03/08 18:29 最近在进行华为云相关POC验证,个人主要负责华为云DMS kafka相关.大致数据流程是,从DIS取出数据,进行解析处理,然后放入kafka,再从kafka中取出数据 ...
-
阿里云ECS配置踩坑之路
1.利用*配置SVN(用于软件部署环境) 2.安全组设置 3.FTP搭建 https://www.cnblogs.com/hexige/p/7809481.html
-
C#调用阿里云CDN API刷新缓存
使用CDN必须要解决CDN缓存的问题,要么在每次更新文件时生成不同的URL,要么在每次更新文件时刷新CDN缓存.我们在一个实际应用场景中用到了后者,所以需要调用阿里云CDN的API进行缓存刷新的操作. ...
-
复杂业务下向Mysql导入30万条数据代码优化的踩坑记录
从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负责的模块connector就派上了用场. ...
-
阿里云 CDN 业务基于边缘容器的云原生转型实践
导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力.架构,以及基于边缘容器 ...
-
什么是阿里云CDN
阿里云内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络.阿里云CDN分担源站压力,避免网络拥塞, ...
-
阿里云CDN边缘脚本EdgeScript公测:简单语法完成CDN复杂配置
CDN可以将源站内容分发至最靠近用户侧的节点,使得用户就近获取内容,提高用户的访问成功率和效率.作为CDN运维工程师,他的日常工作就是通过CDN系统的配置和管理,来确保CDN业务正常运转,以此来保障网 ...
-
阿里云CDN技术掌舵人文景:相爱相杀一路狂奔的这十年
导读:提到阿里云CDN,不得不提技术掌舵人姚伟斌(文景),虽然他不是团队中最“老”的同学,但他却历经了淘宝业务发展最为飞速的几年,见证了从最初服务淘宝和集团内部的CDN,到如今国内服务客户最多的云CD ...
-
unionId突然不能获取的踩坑记录
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...
随机推荐
-
Angular JS 学习之过滤器
1.过滤器可以使用一个管道字符(|)添加到表达式和指令中: 2.AngularJS过滤器可用于转换数据: **currency:格式化数字为货币格式: **filter:从数组项中选择一个子集: ** ...
-
SEO入门教程
什么是SEO? SEO的中文名叫做搜索引擎优化,主要的作用是将网站的关键词优化到搜索引擎靠前的位置 其中关键词可以划分成以下这几类: 主关键词,长尾关键词,相关关键词 例如:主关键词:网页 长尾关键词 ...
-
Java 另一道构造器与构造器重载的题目
题目: 请写出以下程序的输出结果 public class ConstructorTest2 { public static void main(String[] args) { new B(&quo ...
-
Android 天气应用开发
百度 API Store中很多免费的天气API,因此写一个天气应用相对变得很容易. 首先尝试API给的接口,接受返回数据. public class MainActivity extends Acti ...
-
UITextField的属性设置
1.背景颜色 field.backgoundColor = [UIColor redColor]; 2.设置field文字 field.text = @"输入文字"; 3.设置fi ...
-
oracle如何调试存储过程
oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能 先按简单的存储过程做个例子,就是上次做的存储过程(proc_test) 1.先在数据库的procedures文 ...
-
babel那些事儿
从前,一提到新东西,我的反应就是兼容性好不好,如果不能满足产品经理的需求,就还是用保守的方式实现吧.毕竟前端开发是一件很灵活的事,怎么写都行,至于为何会用某种方法,一定是综合考虑兼容性,性能,用户体验 ...
-
vbox虚拟机扩容(CentOS 7.2)
Preface My virtual machine was simply created by vagrant in default mode without anything about th ...
-
nginx与tomcat 组合 实现静态文件和jsp组合访问
主要修改nginx的配置文件: 设置代理 location /{proxy_pass http://47.94.158.2:8080;proxy_redirect off;proxy_set_head ...
-
Tomcat9 访问 Manager App
1.介绍 在配置好Tomcat,我们往往需要访问Tomcat的Manager以及Host Manager.就需要在tomcat-users.xml中配置用户角色来实现.在地址栏输入:localhost ...