站长群内看到有用户反馈启用腾讯云、阿里云CDN后,通过百度访问站点的任何页面,服务器均返回HTTP状态码403,浏览器提示"You do not have permission to get URL '/' from this server."。
后来经过一系列的分析发现,原来是他在CDN设置时启用了防盗链且在referer白名单中只设置了自己站点的域名。从百度过来的链接,HTTP head头中的referer是baidu.com,因baidu.com不在CDN的referer白名单中,造成启用CDN后通过百度访问站点返回HTTP状态码403。
解决办法:
1、在referer白名单中增加*.baidu.com及其他搜索引擎、外链referer。如腾讯云CDN防盗链referer白名单设置如下:
2、禁用CDN的防盗链功能。腾讯云CDN清空referer白名单设置,阿里云CDN选择referer黑名单并确保自己的域名和外链域名不再referer黑名单中。
因为网站的外链可能有很多种情况,所以建议站长尽量不要启用防盗链设置,以免造成用户无法正常访问站点。