JK2 仮想ホストの設定
 

分身の術

仮想ホストというのは、1つのIPアドレスに対して複数のホスト名を割り当てて、 見かけ上のホストを増やしてしまおうという、いわば「分身の術」です。[注]
これを行うためにはJK2のみならず、Apacheのhttpd.confとTomcatのserver.xmlの変更も必要になります。

まずApache上に仮想ホストを設定するよう、httpd.confに記述します。 この例では、 http://jajakarta.ytp.ne.jp/でブラウズした時に裏Ja-Jakarta(?)のトップページが見えるように設定しています。 さらにLocationディレクティブを使って、公開してはいけないURLをDenyに設定します。


server.xmlでは、<Engine>要素配下(<Host name="localhost">要素の次)に、 仮想ホストの設定を追加します。 当たり前ですが、name属性の値は仮想ホスト名jajakarta.ytp.ne.jpにします。


最後はworlers2.propertiesです。 これは、仮想ホスト名/コンテキスト名/* というuriマッピングを追加するだけです。 この例ではコンテキストルート配下全体をTomcatに送信する設定になっていますが、 jajakarta.ytp.ne.jp仮想ホスト上にcontikushoというコンテキストがある場合は、 [uri:jajakarta.ytp.ne.jp/contikusho/*]という設定を追加します。

httpd.conf
NameVirtualHost 192.168.0.1

<VirtualHost 192.168.0.1>
    ServerAdmin webmaster@ytp.ne.jp
    DocumentRoot "/opt/jajakarta"
    ServerName jajakarta.ytp.ne.jp
    ErrorLog logs/jajakarta-error.log
    CustomLog logs/jajakarta-access.log common
    
    <Directory "/opt/jajakarta">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
    # I don't wanna show.
    <Location "/WEB-INF/*">
        AllowOverride None
        Deny from all
    </Location>
    
    # I don't wanna show.
    <Location "/META-INF/*">
        AllowOverride None
        Deny from all
    </Location>
</VirtualHost>
server.xml
<!-- jajakarta.ytp.ne.jp Virtual Host -->
<Host name="jajakarta.ytp.ne.jp" debug="0"
  unpackWARs="true" autoDeploy="true">
  <Logger 
    className="org.apache.catalina.logger.FileLogger"
    directory="logs" prefix="jajakarta." suffix=".log"
    timestamp="false"/>

  <!-- Context Root -->
  <Context path="" docBase="/opt/jajakarta" debug="0"
         reloadable="true" crossContext="false">
  </Context>
</Host>
workers2.properties
[uri:jajakarta.ytp.ne.jp/*]
info=Map http://jajakarta.ytp.ne.jp/


[注]ここで書いたのは「名前による仮想ホスト」です。「IPアドレスによる仮想ホスト」も別にあります。



Copyright © 2002-2016, Your Technology Partner. All rights reserved.