Nginx防盗链
根据referer的字段,通过referer告诉服务器该网页是从哪个页面链接过来的,一旦检测到来源不是本站即进行阻止或者返回指定的页面
配置
编辑配置文件
vim /usr/local/nginx/conf.d/www.conf
server {
listen 80;
server_name endvv.com www.endvv.com;
root /usr/local/nginx/html;
location ~ .*\.(jpg|png|jpeg|gif)$ {
#access_log off; #设置是否记录日志
valid_referers none blocked www.endvv.com endvv.com;
if ($invalid_referer) {
#rewrite ^/ https://www.endvv.com/404.png;
return 403; #如果域名不是上面指定的地址就返回403
}
}
}
重载配置文件
/usr/local/nginx/sbin/nginx -s reload
验证
[root@linux nginx]# cat logs/www.log|tail -1
59.36.95.43 - - [29/Sep/2020:05:18:10 +0800] "GET /xxx.png HTTP/1.1" 403 144 "http://119.29.84.190/" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"