防盗链与X-Tengine-Error: DeniedByRefererACL错误
防盗链是一种网站安全技术,它可以阻止其他网站盗用您的图片、视频等资源,而X-Tengine-Error: DeniedByRefererACL错误则是Nginx服务器在检测到防盗链设置时出现的错误,一般来说,可以通过修改Nginx配置文件来解决这个错误。
解决方案
-
1. 开启防盗链
需要在Nginx配置文件中开启防盗链,配置文件的位置一般在/usr/local/nginx/conf/nginx.conf,在文件中添加如下配置:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked server_names *.yourdomain.com; if ($invalid_referer) { return 403; } }
其中,valid_referers参数用于设置允许访问的域名,none表示允许任何域名,blocked表示阻止任何域名,server_names表示允许指定的域名,if ($invalid_referer)表示如果访问者的域名不在允许访问的域名列表中,则返回403错误。
-
2. 修改配置文件
在修改完配置文件后,需要重新加载Nginx配置文件,可以使用如下命令:
$ sudo nginx -s reload
重新加载后,X-Tengine-Error: DeniedByRefererACL错误就会消失,此时,防盗链就已经设置完成。