2

2つのサーバーへのプロキシとして機能するnginxが前面にあります。1つはWebspherePortalServerを実行し、もう1つは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でこれらを処理することはできますか?または、正しいURLを取得するためにSpring / Portalプロジェクトを変更する必要がありますか?(おそらくパスの依存関係?)

4

1 に答える 1

1

この結果は、ngx_http_rewrite_moduleに記載されて いるhttprewritemoduleを使用して実現できます。

アイデアを出すために、あなたの書き直しは以下のようになると思います(私はこれを検証していません)

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