WebサイトはHost:
、ブラウザーから送信されたヘッダーを通じて認識されます。ただし、ルーターは仮想ホスティングで使用されるHTTPデマングルに対応していないため、1つのサーバーを「エンドポイント」として選択する必要があります(そして、ルーターにそのアドレスをVirtual Server / DMZとして指定します)。
次に、1台のマシンをそのドメインのWebサーバーとして、他のマシンのプロキシとして(例えばApacheリバースプロキシを使用して)設定するか、(たぶん)そのマシンにプロキシをインストールし、それを使用して他のサーバーへのリクエストを多重化します。一部のドメインは同じマシンでホストされている場合もあります。nginx
この種の作業には適していますが、他のソフトウェア(例pound
)を使用することもできます。
2番目のソリューションの方が優れていると思います。Webサーバーの設定をいじる必要がまったくないからです。1つのプロキシがプロキシを実行し、複数のWebサーバーがWebサービスを実行します。サーバーを追加したり、仮想ホストを移動したりする必要がある場合、このアーキテクチャの保守は簡単です。
+-- virtual hosts 1..9 -- server B
|
router ----- machine A (nginx?) ----+-- virtual hosts 10..23- server C
|
+-- virtual hosts 24..99- server D
要求が2回(プロキシによって1回、目的の受信者によって1 回)デコードされるために追加されるレイテンシは無視でき、プロキシ自体によって提供されるアクセラレーションによって相殺されます。