本文给大家介绍nginx WEB服务器设置防盗链方法,网站安全至关重要其中被盗链是最头大的事情,其实在Nginx里面,很容易就做到防盗链的,在nginx.conf文件加入一个localtion配置项。
下面请看配置:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; }
把这一段修改成:
location ~* \.(gif|jpg|png|jpeg)$ { expires 30d; valid_referers none blocke *.hugao8.com *.baidu.com *.google.com; if ($invalid_referer) { rewrite ^/ https://www.yxiupei.cn; #return 403; } }
这些配置到底是什么意思,下面我们一起来看看
首先
location ~* \.(gif|jpg|png|jpeg)$
这是你需要防盗链的文件格式,可以自定义,多文件格式用 | 符号隔开即可
再看看这一行
valid_referers none blocke *.yxiupei.cn *.baidu.com *.google.com;
就是白名单,允许文件来源页的域名白名单,自行修改成您的域名!*.yxiupei.cn 这个指的是子域名,域名与域名之间使用空格隔开!
rewrite ^/ https://www.yxiupei.cn;
这是访问者访问了防盗链的图片后返回的东西,可以是一个url地址,也可以是一张图片
注意
我们的白名单理有这样一个东西 none blocke
因为防盗链是由来源页验证的,none blocke 表示没有来源页也可以访问,也就是说 来源页为空,或者来源页在白名单内就可以访问
下面我们来删掉 none blocke ,改成
valid_referers *.yxiupei.cn *.baidu.com *.google.com;
这样表示必须要有来源页,且来源页必须在白名单内才能访问了
当然了,也可以设置某个目录防盗链,只需把localtion匹配的改成一个目录就可以了,比如:
location ~ ^/images/ { valid_referers none blocked www.qixing318.com qixing318.com; if ($invalid_referer) { return 404; } #rewrite ^/ http://otherdomin.com/404.jpg; }
这样就对images这个目录设置防盗链了,大家看明白吗?希望这篇文章能对大家有一定的帮助!