Nginx配置文件正則表達式
location ~*\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ { #防盜鏈文件類型 valid_referers none blocked server_names *.test.com test.com; # 白名單域名 if ($invalid_referer) { # 判斷referer地址,非白名單跳轉頁面或返回403 rewrite ^/ http://www.test.com; # return 403 } }
參數說明express
none
「Referer」 來源頭部爲空的狀況
blocked
「Referer」來源頭部不爲空,可是裏面的值被代理或者防火牆刪除了,這些值都不以http://或者https://開頭.
server_names
「Referer」來源頭部包含當前的server_names(當前域名)
arbitrary string
任意字符串,定義服務器名或者可選的URI前綴.主機名可使用*開頭或者結尾,在檢測來源頭部這個過程當中,來源域名中的主機端口將會被忽略掉
regular expression
正則表達式,~表示排除https://或http://開頭的字符串.bash