最近负责的系统安全要求接入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 控制台进行设置即可。

最新文章

  1. D3.js学习(二)
  2. php实现设计模式之 工厂方法模式
  3. MongoDB配置服务--MongoDB安装成为windows服务
  4. ThinkPHP常用查询
  5. 基于jQuery的网站首页宽屏焦点图幻灯片
  6. AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素
  7. SQL Server R2 2008中的SQL Server Management Studio 阻止保存要求重新创建表的更改问题的设置方法
  8. (转)asp.net注册实现下一步
  9. CentOS 下安装 Node npm pm2
  10. 翻译:CREATE DATABASE语句
  11. 工具篇之GIT知识整理(一)
  12. 记一次腾讯云不能连接DNS服务器的问题排查过程
  13. Windows软件
  14. java学习笔记6(面向对象1:概念,private)
  15. 20155328 2016-2017-2 《Java程序设计》第7周学习总结
  16. ruby的循环控制命令loop等
  17. 【CTF WEB】GCTF-2017读文件
  18. vs2010静态链接Qt
  19. Error: Cannot find module 'express' 之 解决方案
  20. 免费网站监控服务阿里云监控,DNSPod监控,监控宝,360云监控使用对比

热门文章

  1. ASP.NET Core 2.2 WebApi 系列【三】AutoFac 仓储接口的依赖注入
  2. C# calculate disk size
  3. 高强度学习训练第十六天总结: Spring框架中的设计模式
  4. 查询物料单位PAC成本
  5. arcgis api 4.x for js 自定义 Draw 绘制手绘面以及手绘线,只针对二维视图(附源码下载)
  6. Cesium专栏-空间分析之剖面分析(附源码下载)
  7. 微信小程序支付功能 C# .NET开发
  8. Saltstack_使用指南12_配置管理-jinja模板
  9. Python语法速查: 4. 字符串常用操作
  10. LINUX中查看、添加、删除PATH以及永久添加PATH