Nginx服务器的图片防盗链两种实用方法
一、全站的防盗链方法
在/usr/local/nginx/conf/nginx.conf文件要添加防盗链的server段里添加下面的代码:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked www.repiankk.com m.repiankk.com; if ($invalid_referer) { rewrite ^/ http://style.repiankk.com/images/blank.png; #return 403; } }
第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链第二行:表示对www.repiankk.com这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到http://style.repiankk.com/images/blank.png页面,当然直接返回403也是可以的。请确保server段中只有一个location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$,否则可能导致代码无效,如有这个代码段请合并或删除。
切记:如果要跳转到图片,记得替换的图片地址要使用没有防盗链的网站图片,否则由于替换的图片其实也处于防盗链情况下,会造成仍旧无法显示设置的图片。
二、针对图片目录防止盗链
location /images/ { alias /data/images/; valid_referers none blocked server_names *.repiankk.com *.baidu.com; if ($invalid_referer) {return 403;} }