nginx如何設置防盜鏈

關於nginx防盜鏈的方法網上有不少教程,均可以用,可是我發現不少教程並不完整,所作的防盜鏈並非真正的完全的防盜鏈!nginx

通常,咱們作好防盜鏈以後其餘網站盜鏈的本站圖片就會所有失效沒法顯示,可是您若是經過瀏覽器直接輸入圖片地址,仍然會顯示圖片,仍然能夠右鍵圖片另存爲下載文件!瀏覽器

依然能夠下載?這樣就不是完全的防盜了!那麼,nginx應該怎麼樣完全地實現真正意義上的防盜鏈呢?服務器

首先,咱們來看下nginx如何設置防盜鏈

若是您使用的是默認站點,也就是說,您的站點能夠直接輸入服務器IP訪問的,使用root登陸,修改 /usr/local/nginx/conf/nginx.conf 這個配置文件。網站

若是您新建了站點,那麼修改/usr/local/nginx/conf/vhost/你的域名.conf 這個配置文件,找到:google

1
2
3
4
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
  expires      30d;
}

把這一段刪掉,修改爲:spa

1
2
3
4
5
6
7
8
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)$code

其中「gif|jpg|jpeg|png|bmp|swf」設置防盜鏈文件類型,自行修改,每一個後綴用「|」符號分開!xml

第三行: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;

 

nginx完全地實現真正意義上的防盜鏈完整的代碼應該是這樣的:

1
2
3
4
5
6
7
8
location ~* \.(gif|jpg|png|jpeg)$ {
     expires     30d;
     valid_referers *.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;
     }
     }

這樣您在瀏覽器直接輸入圖片地址就不會再顯示圖片出來了,也不可能會再右鍵另存什麼的。

第五行:rewrite ^/ http://www.it300.com/static/images/404.jpg;

這個是給圖片防盜鏈設置的防盜鏈返回圖片,若是咱們是文件須要防盜鏈下載,把第五行:

rewrite ^/ http://www.it300.com/static/images/404.jpg;

改爲一個連接,能夠是您主站的連接,好比把第五行改爲:

rewrite ^/ http://www.it300.com;

這樣,當別人輸入文件下載地址,因爲防盜鏈下載的做用就會跳轉到您設置的這個連接!

最後,配置文件設置完成別忘記重啓nginx生效!

相關文章
相關標籤/搜索