所以我有一个像这样的nginx规则位置:
location /foo {
proxy_pass http://<a-service-discovery-url>/foo/;
proxy_redirect default;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
然后我有一个控制器网址:
/foo-bar/bizz
奇怪的是,当我在/ foo-bar / bizz中击中控制器时,我再次被重定向到/ foo,这是不可取的。
我尝试了很多规则组合,导致了不良行为:
location /foo/
或
location = /foo
或
location = /foo/
使用〜定义的任何正则表达式都不起作用,因为proxy_pass包含位置规则中的world foo。
不希望使用尾部斜杠,因为用户必须明确地写它。
任何帮助将不胜感激。 感谢。
答案 0 :(得分:0)
您是否尝试在将其添加到该位置时从proxy_pass网址中删除尾部斜杠。
location /foo/ {
proxy_pass http://<a-service-discovery-url>/foo;
proxy_redirect default;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}