私はTomcatサーバーに次のようなWebアプリを持っています:
mydomain.com:8080/mywebapp
次に、Webアプリに接続すると、正常に機能していますが、Webアプリを次のように表示する必要があります。
mydomain.com
したがって、ポート80でTomcatだけを使用したくない、その名前でWebアプリケーションにアクセスしたくない、ドメインURIを使用して直接接続したい。
これどうやってするの?これをLinux(Ubuntu 12.04 LTS)およびWindowsサーバーで動作させたい。
これを実現する方法はいくつかありますが、これを解決する最も一般的な方法は、Apacheをその前でリバースプロキシとして実行することです。あなたはいくつかの詳細を見つけることができます ここ 。これはLinuxとWindowsの両方で機能します。 Linuxの場合、authbind
を使用してTomcatをポート80にバインドすることもできます。80
でポートをserver.xml
に変更するだけでは、Linuxでは機能しません。 Tomcatをroot
として起動しますが、これはあまり良い考えではありません。
また、Webアプリを/
に配置するには、warファイルをROOT.war
としてデプロイできます。
特権ポート(1024未満のポート)でアプリケーションを実行するには、特別な特権が必要です。これを行う場合は、インスタンスが 適切に強化されている であることを確認する必要があります。
Tomcatがリッスンするポートを構成するには、conf/server.xmlのHTTPコネクターを変更する必要があります( サーバーリファレンスドキュメント ):
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
アプリのコンテキストパスを変更するには、warファイルの名前を変更します。ルートにデプロイするには、warファイルの名前をROOT.warに変更します。または、META-INF/context.xmlを追加して、目的のコンテキストパスを指定することもできます( コンテキスト参照ドキュメント ):
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" />
Apache Webサーバーを設定し、Tomcatを使用するように構成する必要があります。
Tomcatと通信するようにApacheWebサーバーを構成するには、mod_jk
を使用する必要があります。
これを使用して linkmod_jk
を設定します。