Nginx:proxy“内部位置中不能有URI部分”;如果;陈述
假设有一个nginx配置:Nginx:proxy“内部位置中不能有URI部分”;如果;陈述,nginx,Nginx,假设有一个nginx配置: server { ... location /nakayoshi { if ($georedirect) { proxy_pass http://foo.bar/fa/fb/fc; } proxy_pass http://foo.bar/fa/fb/fd; } } 当Isudo nginx-t时,它会打印出: nginx: [emerg] "proxy_pass" can
server {
...
location /nakayoshi {
if ($georedirect) {
proxy_pass http://foo.bar/fa/fb/fc;
}
proxy_pass http://foo.bar/fa/fb/fd;
}
}
当Isudo nginx-t
时,它会打印出:
nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular express, or inside named location, or inside "if" statement, or inside "limit_except" block in /etc/nginx/conf.d/nakayoshi.conf
我还发现rewrite
在这里帮助我,但是重定向的uri将更改为类似“”的URL
我可以使用
proxy\u pass
保持重定向的URI不变吗?试试这样的方法
http {
...
map $georedirect $proxyuri {
"" fa/fb/fd;
default fa/fb/fc;
}
server {
...
location /nakayoshi {
proxy_pass http://foo.bar/$proxyuri;
}
}
}