nginx重定向写出了死循环:
正确的写法如下:
if ($host ~ wt\.abc\.cn) {
rewrite ^/$ http://wt.abc.cn/static/mail/register.html last;
rewrite ^/\?from\=([0-9]+) http://wt.abc.cn/sc/mb/rr.html?from=$1 last;
}
===========rewrite+proxy_pass
location ~ ^/static {
rewrite ^/static/html/(.*)$ /html/$1 break;
proxy_pass http://f1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
===========proxy_pass
location ~ ^/$ {
if ($host ~* (.*)\.(youyuan.com)) {
set $host_without_youyuan $1;
proxy_pass http://nexts/v20/seo_index.html?pt=$host_without_youyuan;
}
}
=========?问题:
业务想屏蔽 类似这种链接的访问,只允许访问 通过location设置
location ~ .*(?!\.apk$) {
return 444;
}
这种方法是不成功的,因为location是匹配uri,而非参数。
如果匹配到整个uri则配置如下:
if ($request_uri ~ '.*\.apk\?.*') {
return 444;
}