昨天為單位的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 這個參數。