修改 /usr/local/nginx/conf/nginx.conf 這個配置文件。
找到
location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}[/code]
修改成:
location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)${valid_referers none blocked *.jannn.com jannn.com;if($invalid_referer) {rewrite ^/ http://www.jannn.com/404.jpg;#return404;}expires 30d;}
第一行:
location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)$
其中“gif|jpg|jpeg|png|bmp|swf”設置防盜鏈文件類型,自行修改,每個后綴用“|”符號分開!
第三行:
valid_referers none blocked *.jannn.com jannn.com;
就是白名單,允許文件鏈出的域名白名單,自行修改成您的域名!*.jannn.com這個指的是子域名,域名與域名之間使用空格隔開!
第五行:
rewrite ^/ http://www.jannn.com/404.jpg;
這個圖片是盜鏈返回的圖片,也就是替換盜鏈網站所有盜鏈的圖片。這個圖片要放在沒有設置防盜鏈的網站上,因為防盜鏈的作用,這個圖片如果也放在防盜鏈網站上就會被當作防盜鏈顯示不出來了,盜鏈者的網站所盜鏈圖片會顯示X符號。
這樣設置差不多就可以起到防盜鏈作用了,上面說了,這樣并不是徹底地實現真正意義上的防盜鏈!
我們來看第三行:
valid_referers none blocked *.jannn.com jannn.com;
valid_referers 里多了“none blocked”
我們把“none blocked”刪掉,改成
valid_referers *.jannn.com jannn.com;
nginx徹底地實現真正意義上的防盜鏈完整的代碼應該是這樣的:
location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)${valid_referers *.jannn.com jannn.com;if($invalid_referer) {rewrite ^/ http://www.jannn.com/404.jpg;#return404;}expires 30d;
這樣您在瀏覽器直接輸入圖片地址就不會再顯示圖片出來了,也不可能會再右鍵另存什么的。
第五行:
rewrite ^/ http://www.jannn.com/404.jpg;
這個是給圖片防盜鏈設置的防盜鏈返回圖片,如果我們是文件需要防盜鏈下載,把第五行:
rewrite ^/ http://www.jannn.com/404.jpg;
改成一個鏈接,可以是您主站的鏈接,比如把第五行改成小簡博客主頁:
rewrite ^/ http://www.jannn.com;
這樣,當別人輸入文件下載地址,由于防盜鏈下載的作用就會跳轉到您設置的這個鏈接!
最后,配置文件設置完成別忘記重啟nginx生效!
平滑重啟nginx:
/etc/init.d/nginx reload
后面幾種方法:
原文:Nginx防盜鏈詳細解說
新聞熱點
疑難解答