Search code examples
springjbossnginxwebspherewebsphere-portal

nginx proxy_pass to Jboss+Spring/Websphere+Portal projects


I have an nginx up at the front serving as a proxy to two servers, one running Websphere Portal Server and one running Spring on a Jboss server.

I'm currently having problems with the proxying of certain requests, for instance, I have the following:

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/;
    }
}

Now, this does the proxy from localhost:8080/jbossSpring/ and localhost:8080/webpsherePortal/ correctly, however, the pages I get keep requesting files that are located on localhost:8080/Spring_project/ and localhost:8080/Portal_project/.

Is there anyway for me to handle these in nginx? or do I have to modify the Spring/Portal projects to get the right url? (path dependencies probably?)


Solution

  • You may achieve this result by using http rewrite module, documented at ngx_http_rewrite_module

    To give an idea, I guess your rewrites shall look like below (I haven't validated this)

    server {
      ...
      rewrite ^/Spring_project/(.*) /jbossSpring/$1 last;
      rewrite ^/Portal_project/(.*) /webspherePortal/$1 last;
      ...
    }