Nginx配置圖片防盜鏈非常簡單,通過用戶客戶端http請求頭中的Referer信息來做為主要判斷,如果圖片鏈接嵌套在非指定的網站上,可以限制其訪問。
主要配置代碼如下:
location ~*\.(gif|jpg|jpeg|png|bmp|swf)$ {
valid_referers none blocked *.linuxeye.com;
if ($invalid_referer) {
rewrite ^/ http://linuxeye.com/error.html;
#return 403;
}
}
以上代碼解釋如下:
1、location中指定要防篡改的文件類型;
2、valid_referers指定資源訪問是通過以下幾種方式為合法
none:直接通過url訪問,無referer值的情況
blocked:referer值被防火牆修改
servername:指定資源在合法的url中可以被引用,支持*通配符
3、if判斷如果用戶請求的資源不符合上述配置,那麼rewrite重定向到你想指定的url上,也可以配置403權限錯誤。