ポート8080の単一のApacheTomcatでホストされている2つのアプリケーションがあります>
- _
http://mydomain.com:8080/application1
_- _
http://mydomain.com:8080/application2
_
次の動作で両方の前にApacheプロキシを実行したいと思います>
http://mydomain.com/* (Apache2) -> http://mydomain.com:8080/application1/* (Tomcat)
http://subdomain.mydomain.com/* (Apache2) -> http://mydomain.com:8080/application2/* (Tomcat)
私が今得ている最高のものは、異なるIPを持ち、それに応じてドメインとサブドメインをルーティングする2台のマシンです。
理想的には、Apacheプロキシと2つのアプリを同じマシンに配置する必要があります...
キックアスDEVOpsスキルを持っている人は誰でも支援できますか?
@Jon Linの回答に加えて、アプリがリダイレクトを行う場合に備えて、ProxyPassReverse
の使用も検討してください。これにより、Apacheが応答のURLを修正します(詳細 ProxyPassReverse )。次のようになります。
<VirtualHost subdomain.mydomain.com:80>
ProxyPass / http://localhost:8080/application1/
ProxyPassReverse / http://localhost:8080/application1/
</VirtualHost>
<VirtualHost mydomain.com:80>
ProxyPass / http://localhost:8080/application1/
ProxyPassReverse / http://localhost:8080/application1/
</VirtualHost>
お役に立てば幸いです。
mydomain.com(Apache)の仮想ホスト構成で、
ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application1/$1
subdomain.mydomain.com(Apache)の仮想ホスト構成では、必要です
ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application2/$1
両方の構成ファイルは同じマシン上にある必要があり、同じファイルであってもかまいません。これがどのように設定されるかのいくつかの例については、 VirtualHostの例 を参照してください。