apache-tomcat-5.5.15, Eclipse, WindowsXP
(例に示した設定ファイルは部分的に抜き出しているのでそのままでは利用できません。かつ、業務でいろいろいじられているのでデフォルトから変更されていたり、おかしなところがあるかもしれない。パスとかは hoge。)
開発環境で動かしてる Java アプリを localhost
以外のアドレスからアクセスしたかったので。
設定ファイルに Host を追加する
Tomcat の server.xml
に Host 要素を追加:
<Service name="Catalina"> <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" /> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <!-- このエンジンのデフォルトホストは localhost --> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <!-- デフォルトのホスト設定 --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/WebApps" cookies="true" reloadable="true" docBase="C:\project\eclipse\workspace\webapps\WebContent" workDir="C:\project\eclipse\workspace\webapps\work" /> </Host> <!-- バーチャルホスト設定 --> <Host name="javahoge.local" appBase="webapps2" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/WebApps2" cookies="true" reloadable="true" docBase="C:\project\eclipse\workspace\webapps2\WebContent" workDir="C:\project\eclipse\workspace\webapps2\work" /> </Host> </Engine> </Service>
それだけ。
今回は Host 内にコンテキスト設定も入れてるけど、バーチャルホストには関係ない。
hosts にホスト名を設定
あとは Apache のバーチャルホストの設定と同様に、hosts に必要なホスト名を追加してやる必要がある。
Host 要素の name 属性に指定したホスト名を hosts に追加:
127.0.0.1 localhost 127.0.0.1 javahoge.local
設定完了したら Tomcat を再起動
忘れずに。