原文:http://www.wufangbo.com/nginx-fang-dao-lian/nginx
關於nginx防盜鏈的方法網上有不少教程,均可以用,可是我發現不少教程並不完整,所作的防盜鏈並非真正的完全的防盜鏈!瀏覽器
通常,咱們作好防盜鏈以後其餘網站盜鏈的本站圖片就會所有失效沒法顯示,可是您若是經過瀏覽器直接輸入圖片地址,仍然會顯示圖片,仍然能夠右鍵圖片另存爲下載文件!服務器
依然能夠下載?這樣就不是完全的防盜了!那麼,nginx應該怎麼樣完全地實現真正意義上的防盜鏈呢?網站
若是您使用的是默認站點,也就是說,您的站點能夠直接輸入服務器IP訪問的,使用root登陸,修改 /usr/local/nginx/conf/nginx.conf 這個配置文件。google
若是您新建了站點,那麼修改/usr/local/nginx/conf/vhost/你的域名.conf 這個配置文件,找到:spa
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
把這一段刪掉,修改爲:code
location ~* \.(gif|jpg|png|jpeg)$ { expires 30d; valid_referers none blocke *.hugao8.com www.hugao8.com m.hugao8.com *.baidu.com *.google.com; if ($invalid_referer) { rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg; #return 404; } }
第一行: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$blog
其中「gif|jpg|jpeg|png|bmp|swf」設置防盜鏈文件類型,自行修改,每一個後綴用「|」符號分開!教程
第三行:valid_referers none blocked *.it300.com it300.com;圖片
就是白名單,容許文件鏈出的域名白名單,自行修改爲您的域名!*.it300.com這個指的是子域名,域名與域名之間使用空格隔開!
第五行:rewrite ^/ http://www.it300.com/static/images/404.jpg;
這個圖片是盜鏈返回的圖片,也就是替換盜鏈網站全部盜鏈的圖片。這個圖片要放在沒有設置防盜鏈的網站上,由於防盜鏈的做用,這個圖片若是也放在防盜鏈網站上就會被看成防盜鏈顯示不出來了,盜鏈者的網站所盜鏈圖片會顯示X符號。
這樣設置差很少就能夠起到防盜鏈做用了,上面說了,這樣並非完全地實現真正意義上的防盜鏈!
咱們來看第三行:valid_referers none blocked *.it300.com it300.com;
valid_referers 裏多了「none blocked」
咱們把「none blocked」刪掉,改爲
valid_referers *.it300.com it300.com;