Web Server のより複雑な構成の 1 つとして、サーバーがイントラネット配備向けにいくつかの仮想サーバーをホスティングする、というものがあります。たとえば、内部用のサイトが 3 つあり、それらのサイト上で従業員は、ほかのユーザーの電話番号の検索、構内の地図の閲覧、および情報サービス部門への要求の状態追跡を行えるものとします。これまで (この例の場合)、これらのサイトは、名前 phone.example.com、maps.example.com、および is.example.com にマップされた異なる 3 つのコンピュータ上にホスティングされていました。
ハードウェアと管理のオーバーヘッドを最小限に抑えたければ、この 3 つのサイトすべてを、マシン example.com 上に存在する 1 つの Web サーバーに統合化することができます。この設定の実現方法は 2 つあります。 URL ホストベースの仮想サーバーを使用する方法と、個別の HTTP リスナーを使用する方法です。どちらにも固有の利点と欠点があります。
URL ホストベースの仮想サーバーを使用したイントラネットホスティング
URL ホストベースの仮想サーバーは、設定は容易ですが、次の欠点があります。
この構成で SSL をサポートするには、ワイルドカード証明書を使用する標準的でない設定が必要となる。
URL ホストベースの仮想サーバーは、旧バージョンの HTTP クライアントでは正しく動作しない
また、アドレスごとに HTTP リスナーが 1 つずつ用意される、IP アドレスベースの構成を設定することも可能です。
個別の HTTP リスナーを使用したイントラネットホスティング
IP アドレスベースの仮想サーバーに対する利点は、次のとおりです。
HTTP/1.1 Host ヘッダーをサポートしない古いクライアントでも正常に動作する。
SSL サポートの提供方法が単純である。
欠点は次のとおりです。
ホストコンピュータの構成 (実際のネットワークインタフェースや仮想ネットワークインタフェースの構成) を変更する必要がある
数千の仮想サーバーを含む構成に拡大することができない
どちらの構成の場合にも、3 つの名前について、名前とアドレスのマッピングを設定する必要があります。IP アドレスベースの構成では、それぞれの名前が異なるアドレスにマップされます。ホストマシンがこれらすべてのアドレスへの接続を受信するように、ホストマシンを設定する必要があります。URL ホストベースの構成では、すべての名前を同じアドレスに、具体的にはマシンがもともと持っていたアドレスに、マップできます。
複数の HTTP リスナーを含む構成を使用すると、パフォーマンスがわずかに向上することがあります。なぜなら、受信した要求の対象となるアドレスをサーバーが調べる必要がないからです。ただし、複数の HTTP リスナーを使用する場合には、追加のアクセプタスレッドが必要となるため、メモリーとスケジューリングに関する別のオーバーヘッドも発生します。