钧言极客站钧言极客

钧言极客

腾讯云、阿里云CDN启用防盗链 通过搜索引擎访问站点服务器返回403

今天有人反馈我的站点,通过360搜索、百度搜索均出现无法访问,服务器都返回HTTP状态“403 Forbidden”,浏览器提示“You don't have permission to access the URL on this server.” 但是通过浏览器打开显示正常。下面分享一下我的解决方法!

cdn问题.png

经过一系列分析发现排除,因为我使用的是阿里CDN设置时启用了防盗链并在Referer白名单只开放了自己的域名。从360、百度、谷歌等这些搜索引擎过来的链接,HTTP head头部的Referer是带着搜索引擎的域名,例如百度过来的链接,Referer携带着baidu.com,但是CDN白名单的Referer里面并没有Baidu.com,导致用户通过搜索引擎点击访问站点返回HTTP状态403。

解决方法

1、 在Referer白名单中添加 *.baidu.com *.so.com以及其他搜索引擎,外链Referer。例如我使用的阿里云CDN防盗链Referer白名单设置:

Referer.png

2、 禁用CDN的防盗链功能。阿里云CDN可以选择Referer黑名单功能,但是要确保自己的域名和外链域名不在Referer黑名单中。腾讯云CDN可以清空Referer白名单设置。

3、 如果使用外链做图床和做存储,可以在外链站点设置Referer白名单,添加来源站点域名为本站域名来防御恶意盗链等这些情况。

因为网站访问可能有各种各样的情况,数不胜数的Referer 你不可能每一个都添加进去,所以个人建议尽量不要启用防盗链,以免导致用户无法正常访问站点。但是可以从图床那些去添加限制,来保证站点的正常访问。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《腾讯云、阿里云CDN启用防盗链 通过搜索引擎访问站点服务器返回403》
文章链接:https://www.jinjun.top/69.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论