Apacheのバーチャルホスト設定(2パターン)

2008/01/23

メインマシンで複数のサブドメインを持つWebサイトの開発環境を作る時に、今まではmod_rewriteを使ってサブドメインにアクセスしてきたリクエスト毎に別ディレクトリを割り当てる簡易的な方法をとっていたのですが、サブドメイン毎にアクセス制御やログファイルを変えて試験したいことがあったのできちんとバーチャルホストを定義してそれぞれ設定を変えることにしました。

せっかくなのでIPアドレスベースとホスト名ベースの2通りの方法について試してみました。

バーチャルホスト設定(IPアドレスベース)
バーチャルホスト設定(ホスト名ベース)

どちらもとても簡単ですが、それぞれのメリット/デメリットを考えてみました。

IPアドレスベース

メリット

・他のIPベースのサービスやアクセス制御と組み合わせられる

デメリット

・IPアドレス毎にパケット送受信用のメモリが必要になる

・純粋な設定の他にIPアドレスの管理が必要になる

ホスト名ベース

メリット

・複数IPアドレスの管理が不要

デメリット

・ホスト名ベースのバーチャルホストに対応していない、つまりHTTP/1.1のHostヘッダを実装していないクライアント(Webブラウザやプロキシ)が存在する

と、両者を比較してみましたが、とりあえず開発環境の場合はどちらでもいいような気がしました(笑)。