从 NginX 中的代理传递语句中删除尾部斜杠
removing trailing slashes from proxy pass statements in NginX
尝试将 /url 重定向到接受内联参数的别处托管的 SPA 后端,这会产生一些问题,因为代理传递正在传递尾部斜杠并破坏链接 IE:
http://hostname/target?variable=1&page=1
转换为 http://hostname/target/?variable=1&page=1
Ngnix 配置块如下所示:
location ^~ /target/ {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_pass $remote_host/target/;
}
我已经试过了:
- 删除尾部斜杠(重定向循环)
- 添加
proxy_redirect $remote_host/target/$ $remote_host/target/;
- 改写
rewrite ^/(.*)/$ / permanent;
目前一切都无济于事。
原来的答案是正确的,问题最终是后端应用程序执行奇怪重定向的错误
尝试将 /url 重定向到接受内联参数的别处托管的 SPA 后端,这会产生一些问题,因为代理传递正在传递尾部斜杠并破坏链接 IE:
http://hostname/target?variable=1&page=1
转换为 http://hostname/target/?variable=1&page=1
Ngnix 配置块如下所示:
location ^~ /target/ {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_pass $remote_host/target/;
}
我已经试过了:
- 删除尾部斜杠(重定向循环)
- 添加
proxy_redirect $remote_host/target/$ $remote_host/target/;
- 改写
rewrite ^/(.*)/$ / permanent;
目前一切都无济于事。
原来的答案是正确的,问题最终是后端应用程序执行奇怪重定向的错误