<VirtualHost>セクションやNameVirtualHostディレクティブなどを使用して、IP/ポート番号ベースのバーチャルホスト、またはネームベースのバーチャルホストを設定します。本設定によりWebブラウザから複数のマシンを仮想的に利用できます。
使用するバーチャルホスト運用に応じた設定例を以下に示します。
■IPベースのバーチャルホスト
例
メインホスト「main.example.com」をIPアドレス「192.168.0.1」、バーチャルホスト「virt.example.com」をIPアドレス「192.168.0.2」として設定する場合
ServerAdmin webmaster@main.example.com ServerName main.example.com ... <VirtualHost 192.168.0.2> ServerName virt.example.com ServerAdmin webmaster@virt.example.com ... </VirtualHost>
バーチャルホスト「virt.example.com」をIPv6アドレス「2001:db8::a00:20ff:fea7:ccea」として設定する場合
ServerAdmin webmaster@main.example.com ServerName main.example.com ... <VirtualHost [2001:db8::a00:20ff:fea7:ccea]> ServerName virt.example.com ServerAdmin webmaster@virt.example.com ... </VirtualHost>
■ポート番号ベースのバーチャルホスト
例
バーチャルホスト「virt1.example.com」をポート番号「8000」、バーチャルホスト「virt2.example.com」をポート番号「9000」として設定する場合
ServerAdmin webmaster@main.example.com ServerName main.example.com ... Listen 8000 Listen 9000 <VirtualHost _default_:8000> ServerName virt1.example.com ServerAdmin webmaster@virt1.example.com ... </VirtualHost> <VirtualHost _default_:9000> ServerName virt2.example.com ServerAdmin webmaster@virt2.example.com ... </VirtualHost>
■IPおよびポート番号ベースのバーチャルホスト
例
バーチャルホスト「virt1.example.com」をIPアドレス「192.168.0.2」およびポート番号「8000」、バーチャルホスト「virt2.example.com」をIPアドレス「192.168.0.3」およびポート番号「9000」として設定する場合
ServerAdmin webmaster@main.example.com ServerName main.example.com ... Listen 192.168.0.2:8000 Listen 192.168.0.3:9000 ... <VirtualHost 192.168.0.2:8000> ServerName virt1.example.com ServerAdmin webmaster@virt1.example.com ... </VirtualHost> <VirtualHost 192.168.0.3:9000> ServerName virt2.example.com ServerAdmin webmaster@virt2.example.com ... </VirtualHost>
バーチャルホスト「virt1.example.com」をIPv6アドレス「2001:db8::a00:20ff:fea7:ccea」およびポート番号「8000」、バーチャルホスト「virt2.example.com」をIPv6アドレス「2001:db8::a00:20ff:fea7:cceb」およびポート番号「9000」として設定する場合
ServerAdmin webmaster@main.example.com ServerName main.example.com ... Listen 8000 Listen 9000 ... <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000> ServerName virt1.example.com ServerAdmin webmaster@virt1.example.com ... </VirtualHost> <VirtualHost [2001:db8::a00:20ff:fea7:cceb]:9000> ServerName virt2.example.com ServerAdmin webmaster@virt2.example.com ... </VirtualHost>
■ネームベースのバーチャルホスト
注意
SSLは、使用できません。
<VirtualHost>セクションとNameVirtualHostディレクティブには、同じ値を設定してください。
ServerNameディレクティブは、必ず設定してください。
クライアントからのリクエストは、<VirtualHost>セクション内に指定されたServerNameディレクティブで切り分けられます。
リクエストがServerNameディレクティブで切り分けられない場合(IPアドレスが指定された場合など)は、環境定義ファイル(httpd.conf)で設定されているネームベースのバーチャルホストの中で先頭のバーチャルホストがリクエストを受け付けます。
NameVirtualHostディレクティブで指定した「IPアドレス[:ポート番号]」で、クライアントからのリクエストを受け付けた場合、メインホストではなく、その「IPアドレス[:ポート番号]」のバーチャルホストで受け付けます。
メインホストのServerName、DocumentRootディレクティブなどの設定でリクエストを受け付けたい場合は、バーチャルホストとして新規に追加してください。<VirtualHost>セクションを作成し、メインホストのServerName、DocumentRootディレクティブなどを設定してください。
例
ネームベースのバーチャルホスト「virt1.example.com」および「virt2.example.com」を設定する場合
ServerAdmin webmaster@main.example.com ServerName main.example.com ... Listen 192.168.0.1:8000 NameVirtualHost 192.168.0.1:8000 <VirtualHost 192.168.0.1:8000> ServerName virt1.example.com ServerAdmin webmaster@virt1.example.com ... </VirtualHost> <VirtualHost 192.168.0.1:8000> ServerName virt2.example.com ServerAdmin webmaster@virt2.example.com ... </VirtualHost>
ネームベースのバーチャルホスト「virt1.example.com」および「virt2.example.com」を設定する場合(IPv6アドレス使用時)
ServerAdmin webmaster@main.example.com ServerName main.example.com ... Listen 8000 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000> ServerName virt1.example.com ServerAdmin webmaster@virt1.example.com ... </VirtualHost> <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:8000> ServerName virt2.example.com ServerAdmin webmaster@virt2.example.com ... </VirtualHost>
参考
関連ディレクティブ
Listen
NameVirtualHost
ServerAdmin
ServerName
<VirtualHost>