本着安全的考虑,先森在腾讯云的CDN配置里开启了防盗链的配置,结果先森发现这里面有个小坑,竟然禁止了搜索引擎。
发现与排查
先森最近有开始关注起来网站了,之前先森对网站是一个活着即可的态度的,所以CDN的缓存时间配置的比较长,先森想着缓存命中率应该很高才对,结果实际上很低,所以先森开始寻找命中率低的原因。
命中率低可能的原因
首先,先了解一下可能是哪些原因导致命中率低。先森看了一下上面的原因,最大的可能就是状态码4XX和5XX的情况了。通过CDN控制台的运营报表,先森看到网站的404和403的情况挺多的,5XX的情况倒是很少:
网站4xx情况
然后先森就很疑惑了,这个404先森还理解,这个是由于很多人拿先森网站练手,疯狂访问不存在的zip或rar压缩包,或者asp网页等,造成大量404,先森今日也是在分享访问次数多的重复IP,量大的就加到CDN的IP黑名单里面,一次两次的就懒得管了。不过这个403先森就很不解了,访问中出现403的IP也不全是先森加到IP黑名单中的呢。
日志分析403情况
而且访问的链接也是很正常的链接,然后单独过其中一个IP看了一下:
单独IP分析
然后看到5次请求都是403,来源都是百度,先森先尝试直接打开这个网页,发现访问是正常的。然后再通过访问来源百度的链接打开,这个链接确实会跳转到先森的网页,发现竟然403了。
百度跳转403
果断F12打开审查元素,仅看响应头没有看出什么端倪,然后先森就开始思考,CDN的配置中,还有哪里会出现403的响应。这种必然是安全方面的配置,且先森开启的也不多,仔细想一下就想到应该是防盗链配置了。然后看了一下请求头,果然如此:
请求头中的referer
先森的referer防盗链里面并没有配置百度的域名,所以出现了这种情况,这个是先森配置的时候没有考虑到的。
解决起来也简单,两个办法,一个是防盗链中增加百度等域名,一个是关闭防盗链白名单。
CDN防盗链配置
先森选择了最简单的方式,直接关闭了防盗链,相信也没有哪位大佬来盗链先森的网站。如果实在有的话,就配置相关黑名单吧。如果每个搜索引擎都去配置到白名单,总还是会有疏漏,所以还是关掉比较省事。
总结
配置防盗链,竟然让搜索引擎来源中了招,这个让先森有点始料未及,所以网站的情况还是得多关注一下,如果先森又是放个大半年再来关注,怕是网站已经在搜索引擎那里零分了。
转载请注明出处来自https://www.capjsj.cn/cdn_referer.html
很有参考意义