2007-11-27

Apache の virtual host

情報源

簡単に

  • virtual host とは1つの物理的なホストで複数のWebサーバエントリを扱う手法.
  • IPベースと名前ベースがあり,名前ベースは UA が送出する HTTP の Host: ヘッダを利用する手法.
  • 以下,名前ベース virtual host の設定.
  • まず NameVirtualHost ディレクティブで,どの (IP アドレス, ポート番号) を virtual host の対象にするかを設定する.
  • 次に <VirtualHost> ディレクティブに,NameVirtualHost で指定した組と同じものを記述し,<VirtualHost> 中の ServerName ディレクティブで設定の対象としたいホスト名を記述する.
NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>

<VirtualHost *:80>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
  • Apache の挙動: リクエストが来ると、サーバはまず最初に <NameVirtualHost> にマッチする IP アドレスかどうかをチェック.マッチすれば,マッチした IP アドレスの <VirtualHost> のそれぞれのセクションの中から,ServerName か ServerAlias に要求されたホスト名があるか探す.見つかればそのサーバ用の設定を使う.マッチするバーチャルホストが見つからなければ,マッチした IP アドレスのリストの最初にあるバーチャルホストが使われる.

0 件のコメント:

コメントを投稿