引入
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
随着网民数量的急剧增长,以及网络攻击的成本降低,越来越多的网站需要通过CDN来加速并保护自己的网站。
正文
开始使用
接入CDN,需要先在CDN控制台添加新域名,填写源站IP,并且获取域名cname
记录值,并且于DNS解析处修改为CDN给出的cname
记录值。
之后,本地可以通过crtl+R
打开运行,之后输入ping 域名
来确认自己的解析是否生效。
缓存规则设置
大部分静态加速CDN提供文件缓存的自定义选项,允许用户通过修改缓存时间来减少源站压力。
注意:动态网站请不要使用"缓存所有文件",否则可能导致网站直接无法访问。
在腾讯云CDN控制台,我们可以看到缓存配置
→节点缓存过期配置
(typecho默认后台为
/admin
)这里给出一个示例,建议使用在个人博客等对静态文件更新不严格的网站。
内容 | 缓存时间 |
---|---|
全部 | 0秒 |
mp3;wav;wmv;rmi;aac | 7天 |
jpg;jpeg.png;gif;bmp;webp;pcx | 7天 |
js;css;txt;xml;shtml | 30天 |
php;jsp;asp;aspx;html | 0秒 |
*温馨提示:腾讯云CDN的缓存策略是越靠下优先级越高,如果您是其他CDN,请根据实际用户文档进行配置!
如果博客存在视频、急速下载等功能,可以按需缓存。(这里强烈推荐动静分离、图站分离,主站与其他文件分开缓存,可以最大承担优化体验)
HTTPS配置
这是目前我在群里面发现萌新问的最多的问题,这里统一解答一下。
首先,HTTPS证书在同一台服务器上,要么全部使用,要么全部不要使用,否则可能会导致源站IP
泄露。
配置HTTPS证书的方式通常有三种:
①半程加密:在CDN处配置证书,用户访问之后会与CDN建立安全连接保障数据安全。
②全程加密:CDN处、服务器处均有证书,用户访问之后与CDN,CDN与服务器之间均为安全链接。
③严格加密:全程加密的基础上增加对证书的验证以保障数据绝对安全。(正常情况下无需开启,可能导致网站报错)
如果要配置证书,不存在在服务器处配置证书后CDN处不配置,否则会出现报错,显示为CDN节点的默认证书。
同时,如果CDN支持OCSP装订
HSTS
强烈建议开启,前者可以提高速度,后者可以加强HTTPS安全性。
减少损失
大部分CDN为按量计费,可能会被恶意盗刷,以下给大家提供一些防攻击的CDN端策略。
①CDN如有提供防CC功能直接打开即可,手动配置建议设置为3秒5次
②CDN没有提供防CC功能(比如腾讯云):图站分离的情况下带宽封顶配置设置为2M,若出现频繁超限可以适当增加
③IP访问限频配置:若主站完全不存图和静态文件,可以设置为20及以下,若有大量图片建议50+
,出现加载不全可以适当增加
④下行限速配置:腾讯云CDN下行限速限制的是单一节点,只要不是密集访问,一般不会造成影响,建议设置为256KB/s
(换算之后约为2M带宽)
补充说明
使用CDN的时候,务必确认CDN稳定性,切莫贪便宜。
出现任何问题可以工单询问客服,大厂一般都会解决。
版权属于:何叶
本文链接:https://www.onyi.net/archives/428.html
本站采用 “署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN)” 许可。 您可转载本站文章,请以超链接形式标明本文原始出处、作者信息以及版权声明。
15 条评论
只有备案才能用啊,哎
cos 接入cdn 后需要设置下行限速限制 和 ip访问阈值吗。
建议还是要进行配置,这样可以起到一定防护效果(。•ˇ‸ˇ•。)
注意访问阈值需要进行一定的调整,避免同时请求多个资源报错
下行 256 阈值 50,目前没啥问题,速度也挺快的,有更好的参数 记得回复我下。。谢谢。OωO
如果cos是作为静态资源的外链,就需要按照主站的需求进行配置。
没有最佳,只有最适合自己站点的( ๑´•ω•) "(ㆆᴗㆆ)
最好购买流量包了 可以降低风险~
设置规则的时候,第一条都已经全部0秒了,最后干嘛还要设置PHP等0秒,不写这一行,自然都按“全部”的规则走呀。
腾讯云CDN是越往下优先级越高OωO
腾讯云的控制台有可能会前端配置完下发配置时导致错误没有生效,这部分损失是可以找腾讯云索赔免除的
顺带一提阈值封顶是5分钟内带宽超多多少后停用,5分钟内刷的多还是会导致巨额账单,所以限速限频一定要做,同时停用后返回的404页面似乎也是占收费,不过新的节点似乎不会返回页面了。
腾讯云cdn(非全站加速),不会透传用户的header,所以如果服务器上有gzip或者brotli压缩,webp自适应等会导致这些东西通通用不了
其实我一直不太懂这个原理,外加老是有人说如果被人攻击的话一夜房子都会没有了这样的案例,搞得我都不敢使用。
最后,评论时发现输入框里的字看都看不清,有点影响。
测试过了,香港境外OSS可以设置为私有,然后Bucket 授权策略,匿名账户,IP=里填上Cloudflare的ip(https://www.cloudflare.com/zh-cn/ips/)或服务器内网ip,oss绑定域名即可。
做好这些基本不会造成太大损失,如果是大的媒体文件什么的可以选择放到oss+cloudflare自选ip的方案,阿里云加入了cloudflare带宽联盟非大陆地区的oss都可以免除cdn回源流量,目前还没有试这样的组合不保证不会泄露oss地址导致损失,目前我是放到了阿里云香港+cloudflare自选ip,速度的话可以参考[站外链接已被屏蔽]和[站外链接已被屏蔽],自选的话境外解析xxx.cdn.cloudflare.net,境内解析hfli.xyz,一小时一更新
被攻击欠费一般是个例,可以通过限制访问频率过滤掉一些非正常访客,如果还是觉得容易欠费可以考虑包月限宽或者包月限流的CDN,消耗完之后停机不欠费。