Nginx删除反向代理上的子目录路径

问题描述 投票:0回答:1

我正在尝试将mydomain.com/api/映射到我的Spring应用程序上的端口9292,该端口通常可以工作,但是我需要从代理url中删除api /。我知道,我可以将/ api /作为上下文路径添加到Spring应用程序,这不是一个选择。

Nginx Conf:

location /api/ {
  proxy_pass http://127.0.0.1:9292;
  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_set_header X-Forwarded-Proto "https";

  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";

  proxy_connect_timeout 1d;
  proxy_send_timeout 1d;
  proxy_read_timeout 1d;
}
spring-boot nginx nginx-location nginx-reverse-proxy
1个回答
0
投票

将您的位置信息块更改为此:

server {
    listen       8000;
    server_name  test;

    location / {
      proxy_pass http://127.0.0.1:9292/api/;
      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_set_header X-Forwarded-Proto "https";

      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";

      proxy_connect_timeout 1d;
      proxy_send_timeout 1d;
      proxy_read_timeout 1d;
    }
}

}

更早地,如果您要像这样击中终点:

http://localhost:8000/api/v1/test

现在像这样打:

http://localhost:8000/v1/test

© www.soinside.com 2019 - 2024. All rights reserved.