ajpプロトコルを使用して、Tomcatサーバーで複数のgrailsアプリケーションを実行しています。同じサーバーで、Tomcat アプリケーションのフロント エンドとして apache を実行しています。次のようなApache構成:
ProxyPass /example1/ ajp://localhost:8082/example1/
ProxyPassReverse /example1/ ajp://localhost:8082/example1/
ProxyPass /example2/ ajp://localhost:8082/example1/
ProxyPassReverse /example2/ ajp://localhost:8082/example2/
example1 をルートコンテキストとして実行したい
ProxyPass / ajp://localhost:8082/example1/
これは動作しません。すべての静的コンテンツが破損しています。/example1/images/myimage.jpg に移動すると、画像が解決されます: /images/myimage.jpg
example1 を ROOT.war としてデプロイすることを避けるために、私は多くのことを試みました。しかし、それがこの問題を解決する唯一の方法のようです。これは私のニーズには十分ではありません。
Grails 側では、サーバー URL から ${appName} を削除して、次のように結び付けました: grails.serverURL = "http://apacheajp.example.com/"
grails.app.context=/ を application.properties に追加しましたが、これも機能しませんでした。
ここでの最終的な目標は、この apache to server を複数のサブドメインに使用することです。example1.example.com (apacheajp.example.com のエイリアス) を example1 アプリに解決する必要があります。同様に、example2.example.com が example2 アプリに対して同じように動作するようにします。これは、ROOT として展開することが望ましくない理由を説明しています。
私が使用するサーバーはRHEL6です
この投稿は、私が抱えている同じ問題を最もよく説明しています: http://grails.1312388.n4.nabble.com/Grails-context-big-problem-with-apache-mod-proxy-td1392448.html