1、方向代理之通吃代理URL
PS:谨记,在这种规则中最好不要用于cache url有时效性音频或者视频,
否则会有错误[Upstream读取上游流时,upstream在此之前关闭。]。
location ~ ^/music_res/(.*)$ { if ($http_user_agent ~ "WMFSDK|Java|curl") { return 403; } proxy_set_header referer ""; resolver 8.8.8.8 ; proxy_pass http://$1$is_args$args; } |
2、多规则匹配
PS:谨记,在这种规则中不要加入if ($http_user_agent ~ "WMFSDK|Java|curl") {return 403;}
这样的UA判断,否则,只要请求到达这个location,不管是否匹配正确,都将返回404,原因未知。
在这种模式下,cache音源时候,遇到多线程可能会出现“md5 collision”错误。原因位置,版本:Nginx1.0.8
location ~ ^/(soulassassin|192.168.36.59)(/.*)$ { set $urlPath $2; valid_referers none blocked soulassassin.tk 192.168.10.101 192.168.10.102 192.168.10.105; if ($invalid_referer) { return 403; } proxy_set_header referer ""; resolver 8.8.8.8 ; proxy_pass http://ca.ctmus.cn$urlPath; proxy_ignore_client_abort on; proxy_cache music_cache; proxy_cache_key $urlPath$is_args$args; proxy_cache_valid 200 304 10m; } |