2

我在前面有一个 nginx 作为两台服务器的代理,一台运行 Websphere Portal Server,另一台在 Jboss 服务器上运行 Spring。

我目前在代理某些请求时遇到问题,例如,我有以下问题:

server{
    listen:8080;
    server_name:localhost;

    location /jbossSpring/ {
        proxy_pass http://177.21.1.15:9000/Spring_project/;
    }

    location /webspherePortal/ {
        proxy_pass http://177.21.1.15:9400/Portal_project/;
    }
}

现在,这会正确地执行代理localhost:8080/jbossSpring/localhost:8080/webpsherePortal/但是,我得到的页面不断请求位于localhost:8080/Spring_project/和的文件localhost:8080/Portal_project/

无论如何我可以在nginx中处理这些吗?还是我必须修改 Spring/Portal 项目才能获得正确的 url?(路径依赖可能?)

4

1 回答 1

1

您可以通过使用 http 重写模块来实现此结果,记录在 ngx_http_rewrite_module

给出一个想法,我猜你的重写应该如下所示(我没有验证这一点)

server {
  ...
  rewrite ^/Spring_project/(.*) /jbossSpring/$1 last;
  rewrite ^/Portal_project/(.*) /webspherePortal/$1 last;
  ...
}
于 2012-10-02T10:05:37.083 回答