图片字体图标访问不正常?cdn直接403或404?防盗链挡了自家网站?QPS和CORS莫名其妙?
本文将总结百度云CDN使用过程中——回源HOST与源站地址,防盗链白名单Referer,IP访问限频QPS,跨域访问CORS——这四大坑点,希望对各位有帮助
坑点一 回源HOST与源站地址
首先理一下两者的区别:源站(包括主源站和备选源站)决定了回源时,请求到哪个IP
它的作用就是提供了一个IP地址,如果填入的是一个域名,则会在每次回源时自动解析该域名指向的IP(DNS中的CNAME记录)
主源站不可用时将访问备源站源站的配置回源HOST决定回源请求访问到源站IP上的哪个站点
它的作用就是提供一个域名地址字符串,CDN将去源站IP的服务器上找这个域名地址
百度云CDN默认将其配置为加速域名回源HOST
如果要保持回源HOST的默认配置(加速域名),就需要在虚拟主机上绑定该加速域名,如此例中需要在BCH上绑定cdn.pizyds.com,保证能直接通过浏览器访问加速域名获取网站静态文件或页面,否则会遇到BCH的404不存在提示。(本例采纳)
提供一种最简单的方法:将加速域名设为cdn.pizyds.com,回源HOST和主源站都设置为原网站www.pizyds.com。这样访问https://cdn.pizyds.com/wp-content/uploads/2018/02/logo-with-word-640.png时,CDN将从https://www.pizyds.com/wp-content/uploads/2018/02/logo-with-word-640.png获取图片,缓存至服务器,在后续访问中提供给用户
相关插件包括 WP Super Cache,完整CDN配置教程右转百度~知道了原理,就可以有更多配置方案~
坑点二 防盗链白名单Referer
防盗链是样又恨又爱的东西,配置错误,整个站的静态资源都炸了。图标或字体显示不正常,也往往是这个原因。所以好多站长直接搁着不用,下面给出正确可用方案。防盗链配置
这里通常要写入两项或四项:https://www.pizyds.com/*
http://www.pizyds.com/*
https://cdn.pizyds.com/*
http://cdn.pizyds.com/*
(划重点)如果网站部分元素出现了问题,就需要通过FireFox或Chrome的开发者工具(快捷键Ctrl+Shift+I)排查。下图是防盗链白名单未填写后两项的情况:防盗链配置后出现403的情况
有4个请求被403拒绝,查看请求数据后发现这些请求的Referer域名均为https://cdn.pizyds.com/。这是我们cdn的加速域名,没有在白名单中,当然被403。(自家人不认,有点滑稽..)实际上网页对一某些图标和字体的请求是由css发起的,而这些css又来自于cdn,Referer自然就是cdn的域名。在白名单里添上就解决了。
坑点三 IP访问限频QPS
这个坑其实不是很敏感,根据浏览器开发者工具反馈的来填:
在上一图中筛选cdn.pizyds.com,显示44个请求,2.22秒,平均下来QPS在20左右。但假设你的某个网页有几十张图片,又恰好遇到了光速打开网页的网友,QPS上到50+也不是不可能。
IP访问限频的初衷是防止cc攻击流量爆炸,均衡起见,此例中设为60。
坑点四 跨域访问CORS
这是最大坑点!!图标字体脚本的css或js文件都会因为缺少这一配置而被浏览器拒绝,造成图标字体无法正常显示。
但是百度云CDN的配置面板没有提供快捷的CORS开关,唯一存在的是对接BOS的跨域访问配置,极易造成误解。(该功能使用情况是:源站为BOS的Bucket,且此Bucket在BOS面板中设置了CROS,然后在CDN的配置框中填入Origins,CDN就继承BOS的CORS配置提供跨域访问)假的跨域CORS
强烈建议百度云加入CORS快捷启用的开关。在此之前,我们可以从底层的HTTP头实现CORS:通过HTTP头配置CORS
如图配置即可Access-Control-Expose-Headers *
Access-Control-Allow-MethodsGET,HEAD,POST,PUT
Access-Control-Allow-Originhttps://www.pizyds.com
配置HTTP头
总结
百度云CDN终不是面向小白的,有点坑也正常,但是官方文档也不是很厚呃。Pillars在建站初期用的是BOS+CDN实现免备案加速的,举站迁入百度云后硬啃CDN,掉坑再自救。附上官方技术文档:https://cloud.baidu.com/doc/CDN/index.html
作者个站上的本文:https://www.pizyds.com/bdy-cdn-config-tips/
原文链接:https://blog.csdn.net/weixin_42447681/article/details/112881816?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165934458816782246446218%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165934458816782246446218&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-7-112881816-null-null.nonecase&utm_term=%E8%87%AA%E5%BB%BAcdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/8188