5

Nginxを搭載したTomcatサーバーにWebアプリケーションをデプロイしようとしています。私が遭遇する問題は、jspページのタグが「正しくない」(tomcatの観点からは正しい)コンテキストパスを出力することです。

tomcat上の私のWebアプリは、コンテキストパス/ webApp1にデプロイされ、tomcatはポート8080で実行されます。したがって、Webアプリケーションにはhttp:// localhost:8080/webApp1からアクセスできます。

私のnginxは、proxy_passに次のように構成されています。

location / {
    http://localhost:8080/webApp1;
}

この構成では、WebアプリはURL http://localhostで動作することになっています

これはホームページのテキストに対してのみ機能します。ホームページは正常にロードされましたが、tomcatはそれ自体が実行されていると見なすため、ホームページ上のすべてのリンクに/ webApp1のプレフィックスが付いているため、すべてのリンクのプレフィックスとしてコンテキストパスが出力されます。

誰かが以前にこれを修正したことがありますか。

すべての答えは大歓迎です。

z。

4

1 に答える 1

4

私は多くの時間を費やした後、なんとかこの問題を修正することができました。

nginx HttpSubsModule用のサードパーティモジュールがあります。これを使用すると、応答本文の文字列(htmlなど)を置き換えることができます。

したがって、問題は次の方法で修正できます。

location / {
    http://localhost:8080/webApp1;
    subs_filter_types text/html;
    subs_filter '/webApp1' '';
}

html応答からすべてのコンテキスト'/webApp1'を削除します。

これがこの問題に遭遇した他の人にも役立つことを願っています。

z。

于 2012-05-05T06:18:13.100 に答える