none: 在請求頭部沒有」Referer」 字段
blocked: 請求頭部中存在 「Referer」 字段,可是其值被防火牆或者代理服務器刪除,此種狀況會出現不是以」http://"和"https://"開始的
server_names: 請求頭部包含服務器名
string: 定義一個服務器名,和一個可選的URI前綴,服務器名能夠是以」*」結尾或者開始,不進行端口的檢查html
正則表達式:
第一個符號應該使用」~」,而且匹配字符應該是從」http://"和"https://「nginx
Example: valid_referers none blocked server_names *.example.com example.* www.example.org/galleries/ ~\.google\.;
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$
{
expires 7d;
valid_referers none blocked server_names *.test.com ;
if ($invalid_referer) {
return 403;
}
access_log off;
}
location ~ …:」~「表示後面內容執行一個正則匹配而且不區分大小寫,而」~」表示執行正則匹配可是區分大小寫 正則表達式
上面配置文件無做用,下載echo-nginx-module 在if($invalid_referer) 中加echo語句 能夠看出並無執行到該語句bash