
Nginx代理:解决多余斜杠导致的请求路径错误
使用Nginx进行反向代理时,经常会遇到一个恼人的问题:请求路径末尾出现多余的斜杠,导致访问失败。尤其在Java 17环境下,这个问题更为突出。
例如,以下Nginx配置会导致问题:
location /xky-test {
proxy_pass http://127.0.0.1:7088/xky/;
}
当访问/xky-test时,请求会失败。
问题根源:Nginx location配置
这是因为Nginx对location指令的路径处理机制。如果location路径以/结尾,Nginx会将其视为目录,并在转发请求时自动添加一个斜杠。
解决方案:修改location路径
解决方法很简单,只需确保location路径也以/结尾:
location /xky-test/ {
proxy_pass http://127.0.0.1:7088/xky/;
}
通过这种修改,Nginx能够正确识别/xky-test/为目录,避免在请求路径中添加多余的斜杠,从而解决访问失败的问题。










