做運維的朋友經常會有一些煩惱,比如網站總是被人抄襲,比如網站總是被人引用上面的圖片,雖然一張圖兩張圖,并不耗費很多流量,但一旦引用的人多了,這個還是比較廢流量的。
防盜鏈就是禁止其他網站引用自己網站資源而做的一系列設置,優點就不需要說了,絕多數就是防止資源浪費,特別是有寬帶、流量限制的空間如果不做一些 限制可能就光引用自己網站圖片、視頻等等資源可能會消耗很大一部分流量。本文就簡單的說一下在nginx服務器上如何做防盜鏈設置。
nginx防盜鏈代碼
第1步:下載nginx網站配置文件。
有些網友可能是直接到服務器中使用vi或ee編輯器,另外網站配置有些可能是在nginx.conf文件中或是在vhost目錄下,具體要看nginx.conf文件是如何配置的了。
第2步:添加以下代碼,并保存。
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
access_log off;
valid_referers none blocked *.aspku.net www.aspku.net *.youdao.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk image.soso.com bing.com cn.bing.com image.baidu.com;
if ($invalid_referer){
rewrite ^/ http://www.zmynmublwnt.cn/images/return.gif;
}
}
第3步:把保存網站配置文件上傳并覆蓋,到終端執行
/etc/init.d/nginx reload重新啟動nginx即可生效。
因為系統不同nginx安裝目錄可能也不完全相同,簡單的就說是重新啟動nginx服務即可。
nginx防盜鏈代碼說明:
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;#在客戶瀏覽器緩存30天
access_log off; #以上擴展名文件(gif|jpg|jpeg|png|bmp|swf)不寫入日志文件中。
valid_referers none blocked *.zzvips.com www.zmynmublwnt.cn www.aspku.net *.youdao.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk image.soso.com bing.com cn.bing.com image.baidu.com;
#valid_referers none blocked允許訪問的域名站點,后臺就是跟著域名多個域名空格隔開。
#none 匹配沒有Refer的訪問,簡單的說就是直接用URL訪問這些擴展名的資源。
#blocked 支持域名前綴。
#除了允許直接訪問的域名外,其他域名直接訪問就直接顯示下面的這種圖片。
if ($invalid_referer){
rewrite ^/ http://www.zmynmublwnt.cn/images/return.gif;
}
這樣設置過后,別人想要引用你網站里面的圖片時候,就會發現,引用出來的圖片都不是想要的了。