バーチャルホストにはIPベースのものとnameベースのものが有り
複数のIPアドレスで運用する際にはIPベースを使用し、
単一のIPアドレスで運用する際にはnameベースを使用します。
nameベースの場合はHTTPリクエストのホストヘッダに記載されている
ドメイン名をapacheが読んで振分処理をします。
また、IISでは「ホスト ヘッダー名」という機能が
「nameベースでのバーチャルホスト」と同様の機能です。
これらのIIS設定については以下のページにて説明しました。
CentOS7で確認しました。Apacheであれば、httpd.confに以下を記載します。
NameVirtualHost *
<VirtualHost *:80>
ServerName www.example111.com
ServerAlias example111.com
DocumentRoot /var/www/html_1
</VirtualHost>
<VirtualHost *:80>
ServerName www.example222.com
ServerAlias example222.com
DocumentRoot /var/www/html_2
</VirtualHost>
上記のバーチャルホスト設定後、パソコンのWEBブラウザで「http://example111.com/」
へアクセスするとHTTPリクエストのホストヘッダに記載されているドメイン名
(example111)をWEBサーバ(Apache)が理解して、該当のドキュメントルートの
WEBデータを返します。パケットは以下です。
※パソコンのWEBブラウザから或るホームページへアクセスすると
DNSサーバへIPアドレスの問い合わせ→WEBサーバへ3ウェイハンドシェイク→
WEBサーバへHTTPリクエストという順でトラフィックが流れます。
複数のIPアドレスを持ち、それぞれ別のホームページを見せる方法です。
機能はCentOSのVirtualInterface(VIF)と、ApacheのIPベースのVirtualHostを
使用します。
それぞれの変更点は以下の3点
※ファイル名ifcfg-eth0:1へは eth0:1 と記載して下さい。
設定したいIPアドレス
※不要なもの(例えばeth0:2と言う名前の空ファイル等)ができてしまって
いた場合、eth0・eth0:0・eth0:1とも有効にならないと思われます。
※keepaliveはデフォルトでoffでした。
/etc/init.d/httpd restart
以上で設定完了です。