Nginx的Rewrite規則編寫


昨天為單位的Ngnix服務器配置了一個Rewrite規則,以防止符合特定規則的圖片被盜鏈。同時,還有一個需求就是,從我們的管理站點來的請求應該可以訪問這些圖片。查了一些資料,最后總結如下:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
        valid_referers server_names admin.xxx.com.cn;
        if ($invalid_referer) {
                rewrite "^/folderpath1/([a-z0-9]{2})/([a-z0-9]{2})/([0-9a-z]*)\.([a-z0-9]{3})" /403.html last;
                rewrite "^/folerpath2/([a-z0-9]{2})/([a-z0-9]{2})/([0-9a-z]*)\.([a-z0-9]{3})" /403.html last;
        }

        expires      365d;
}

在解決這個問題的過程中,找了一些資料,在解決 valid_referers 這個配置的時候,按照網上的一些文章,總是不能夠生效。后來看了官方的資料后,才知道要加上 server_names 這個參數。

image

由此可見,網上的很多資料都沒有經過博主的驗證,大家只是簡單的轉載。希望今后能夠有更多的經過驗證的,負責任的文章出現網絡上,而不是簡單的轉載。

當然,這里寫的這個規則只能是簡單的做一些盜鏈的防范。想要更深入的防止盜鏈現象的發生,還有很多的工作可以做,這里並沒有深入下去。

Technorati 標簽: ngnix, linux, rewrite, 防盜鏈

參考資料:
1、Ngnix的Rewrite配置
2、Ngnix防盜鏈
3、Ngnix Wiki
4、檢測Ngnix配置是否正確


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com