10.8. 仮想ホスト

Apache HTTP サーバーの組み込み型仮想ホストの使用で、サーバーは、IPアドレス、ホスト名、 ポートのどれが要求されているかにより、異なる情報を提供することができます。 仮想ホストの総括的なガイドは以下のサイトで御覧になれます。 http://httpd.apache.org/docs-2.0/vhosts/.

10.8.1. 仮想ホストの開始

名前ベースの仮想ホストを作成するには、例に示しているように httpd.confで用意されている仮想ホストコンテナを 使用するのが最適です。

仮想ホストの例を以下に示します:

#NameVirtualHost *
#
#<VirtualHost  *>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

名前ベースの仮想ホストを有効にするには、ハッシュマーク(#)を 取り除くことでアンコメント化し、アスターリスク(*)を マシンに割り当てられたIPアドレスで入れ換えます。

次に<VirtualHost>コンテナをアンコメント化して カスタマイズして、仮想ホストを設定します。

<VirtualHost>の行でアスターリスク(*)を サーバーのIPアドレスに入れ換えます。そしてServerNameの部分を マシンに割り当てられた 有効なDNS名で入れ換えて、必要に応じて 他のディレクティブを設定します。

<VirtualHost>コンテナは、カスタマイズしやすく、 メインサーバー設定内で利用できる殆どのディレクティブを受け付けます。

ティップヒント
 

デフォルト以外のポート上でリッスンする仮想ホストを設定する場合、 そのポートは、/etc/httpd/conf/http.confファイルの グローバル設定セクションの中のListenディレクティブに 追加される必要があります。

新しく作成された仮想ホストを有効にするには、Apache HTTP サーバー をリロード、又は 再スタートする必要があります。この方法に付いての案内は 項10.4で御覧下さい。

名前ベースと、IPアドレスベースの両方の仮想ホストの作成とその設定に関する 情報は、以下のサイトで御覧下さい。 http://httpd.apache.org/docs-2.0/vhosts/.

10.8.2. セキュア Web サーバー仮想ホスト

デフォルトで、Apache HTTP サーバー は非セキュアサーバーとセキュアサーバーの両方用に 設定されています。その非セキュアサーバーとセキュアサーバーは両方共 同じ、IPアドレスとホスト名を使用しますが、異なるポートをリッスンします: それぞれ80と443です。この為非セキュアとセキュアな通信は両方共 同時に実行することが出来ます。

SSL強化のHTTP発信の1つの特徴は、それが標準のHTTPプロトコルに比べて リソース集中型であり、セキュアサーバーは、1秒間に多くのページを サービス出来ません。この理由で、特にトラフィックの激しいWebサイトでは、 利用できる情報を最低限に保つことが得策となります。

誓要項目重要
 

HTTP要求が適切な名前ベースの仮想ホストを識別する前にSSLハンドシェイクが起こるため、 名前ベースの仮想ホストは、セキュアWebサーバーと一緒に使用しないで下さい。 名前ベースの仮想ホストは、非セキュアなWebサーバーでのみ機能します。

セキュアサーバー用の設定ディレクティブは、/etc/httpd/conf.d/ssl.conf ファイルの中の仮想ホストタグの中に収納されています。

デフォルトでは、セキュアも非セキュアもWebサーバーは同じ、 DocumentRootを共有しています。ただ セキュアWebサーバー用のDocumentRootは 異なるものが推奨されます。

非セキュアなWebサーバーが接続を受け付けるのを止めるには、httpd.conf内の Listen 80を読む行の先頭にハッシュマーク(#)を付けることによって、その行を コメント化します。それが終了すると以下の例のようになります:

#Listen 80

SSL強化のWebサーバーの設定に関する情報は、Red Hat Linux カスタマイズガイドの中に有る Apache HTTP セキュアサーバーの設定という章で御覧下さい。 高度な設定のヒントに関しては、Apache Software Foundationの以下のサイトで利用できる オンラインドキュメントを御覧下さい。