Hitachi Web Server

[目次][用語][索引][前へ][次へ]

4.3 サーバマシンのバーチャル化(バーチャルホスト)

バーチャルホストは1台のサーバマシンを複数台のマシンに見せます。その方法は次に示す二つがあります。

<この節の構成>
(1) サーバ名に基づくバーチャルホスト
(2) IPアドレスに基づくバーチャルホスト

(1) サーバ名に基づくバーチャルホスト

サーバ名に基づくバーチャルホストは,一つのIPアドレスに対して複数のホスト名をDNSサーバなどで定義しておき,クライアントからそのホスト名でアクセスすることで,複数ホストのように見せます。ネットワークインタフェースを複数設定する必要はありません。サーバ名に基づくバーチャルホストでは異なる複数のSSL対応ホストは構築できません。異なる複数のSSL対応ホストを構築する場合は,IPアドレスに基づくバーチャルホストで構築してください。

(例)1台のサーバマシン(IPアドレス:172.17.40.10)上の一つのWebサーバでポートを一つオープンし,Webブラウザからのリクエストに応じてホストを切り替える運用をする。
Webブラウザからの要求が,http://www1.xxx.soft.hitachi.co.jp/の場合
C:/Program Files/Hitachi/httpsd/htdocs1/index.html(DirectoryIndexの指定が index.htmlの場合)を参照します。
Webブラウザからの要求が,http://www3.xxx.soft.hitachi.co.jp/の場合
C:/Program Files/Hitachi/httpsd/htdocs3/index.html(DirectoryIndexの指定が index.htmlの場合)を参照します。
ただし,この方法はWebブラウザからのリクエスト中のHostヘッダで,"Host: www1.xxx.soft.hitachi.co.jp"のようにホスト名(必要に応じてポート番号)を指定してきた場合だけ利用できます。古いWebブラウザや,簡易タイプのWebブラウザでは利用できないことがあるので注意が必要です。その場合,最も上位に記述された<VirtualHost>ブロックの指定(この例ではwww1.xxx.soft.hitachi.co.jp)が有効になります。
 
 Port 80                                                 …1.
 NameVirtualHost 172.17.40.10                            …2.
 <VirtualHost 172.17.40.10>                              …3.
 DocumentRoot "C:/Program Files/Hitachi/httpsd/htdocs1"  …4.
 ServerName www1.xxx.soft.hitachi.co.jp                  …5.
 </VirtualHost>
 <VirtualHost 172.17.40.10>                              …6.
 DocumentRoot "C:/Program Files/Hitachi/httpsd/htdocs2"  …7.
 ServerName www2.xxx.soft.hitachi.co.jp                  …8.
 </VirtualHost>
 <VirtualHost 172.17.40.10>                              …9.
 DocumentRoot "C:/Program Files/Hitachi/httpsd/htdocs3"  …10.
 ServerName www3.xxx.soft.hitachi.co.jp                  …11.
 </VirtualHost>
 
  1. ポート番号は一つ
  2. サーバ名に基づくバーチャルホストのIPアドレス
  3. バーチャルホスト1の定義
  4. ルートディレクトリの定義
  5. サーバ名1の定義
  6. バーチャルホスト2の定義
  7. ルートディレクトリの定義
  8. サーバ名2の定義
  9. バーチャルホスト3の定義
  10. ルートディレクトリの定義
  11. サーバ名3の定義
注 www1.xxx.soft.hitachi.co.jp,www2.xxx.soft.hitachi.co.jp,www3.xxx.soft.hitachi.co.jpは,DNSサーバなどに172.17.40.10ホストのホスト名として登録されていなければなりません。
[図データ]

(2) IPアドレスに基づくバーチャルホスト

IPアドレスに基づくバーチャルホストは次の三つの方法でクライアントには複数ホストのように見せます。

(例1)1台のサーバマシン上の一つのWebサーバでポートを二つオープンし,SSL対応Webサーバと非対応Webサーバの二つのホストとして運用する。
 
Listen 443                                                                             …1
Listen 80                                                                              …2
SSLDisable                                                                             …3
<VirtualHost xxx.soft.hitachi.co.jp:443>                                               …4
    DocumentRoot "C:/Program Files/Hitachi/httpsd/ssldocs"
    SSLEnable                                                                          …5
    SSLCertificateFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsd.pem"
    SSLCertificateKeyFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsdkey.pem"
</VirtualHost>
<VirtualHost xxx.soft.hitachi.co.jp:80>                                                …6
    DocumentRoot "C:/Program Files/Hitachi/httpsd/htdocs"
    SSLDisable                                                                         …7
</VirtualHost>
 
  1. ポート番号の定義
  2. ポート番号の定義
  3. メインのサーバはSSLを無効に設定
  4. ポート番号443のバーチャルホストの定義
  5. SSL有効
  6. ポート番号80のバーチャルホストの定義
  7. SSL無効

    [図データ]

(例2)1台のサーバマシン上に二つのNIC(Network Interface Card)(IPアドレス:172.17.40.10,172.17.40.20)を備え,一つのWebサーバでWebブラウザからのリクエストに応じてホストを切り替えて運用する。
Webブラウザからのリクエストが,http://172.17.40.10/の場合
C:/Program Files/Hitachi/httpsd/htdocs1/index.html(DirectoryIndexの指定が index.htmlの場合)を参照します。
Webブラウザからのリクエストが,http://172.17.40.20/の場合
C:/Program Files/Hitachi/httpsd/htdocs2/index.html(DirectoryIndexの指定がindex.htmlの場合)を参照します。
 
 
Port 80
<VirtualHost 172.17.40.10>
DocumentRoot "C:/Program Files/Hitachi/httpsd/htdocs1"
ServerName www10.xxx.soft.hitachi.co.jp
</VirtualHost>
<VirtualHost 172.17.40.20>
DocumentRoot "C:/Program Files/Hitachi/httpsd/htdocs2"
ServerName www20.xxx.soft.hitachi.co.jp
</VirtualHost>
 

[図データ]