1 つのサイトに 2 つの異なるサーバーを使用できますか? 方法は?

1 つのサイトに 2 つの異なるサーバーを使用できますか? 方法は?

同じサイトに異なるデータを持つ 2 台 (またはそれ以上) のサーバーを使用することは可能ですか?

たとえば、server1 には page1.html があり、server2 には page2.html があり、両方からアクセスできますwww.site.com。これは可能ですか?

どうしてそれが可能だと思いますか?

そうですね、各 DNS は特定のサーバーを指しますが、NS1、NS2、NS3 などのいくつかのサーバーを指定できることがわかりました。

私がやろうとしていることは何ですか?

私は PHP をベースにした既存の Web サイトを持っており、その Web サイトを asp.net-mvc で拡張したいと考えています。現在、両方とも同じサーバーにインストールされており、ファイルは同じ仮想ディレクトリにあります。これらを 2 つの異なるサーバーに分割したいと考えています。

サーバーの詳細:

Windows Server 2008 R2 および Windows Server 2008。

追伸

誰かこの質問にタグを付け直してもらえませんか? 正しいタグが何なのか全く分かりません。 よろしくお願いします。

答え1

これを実現するには、レイヤー 7 ロード バランサ (または異なるデータ センター内の一連のロード バランサ) を使用し、特定の URL パターンの要求を適切なバックエンドに送信できます。

Varnish、Squid、Apache、Nginx、Lighttpdはどれもこれをある程度うまく処理できます。LVSはLinux用のソフトウェアロードバランサー(カーネル内)で、これを実行できます。http://www.linuxvirtualserver.org/ 対応できる市販品もございます。

DNS は、要求を適切なサーバーに希望どおりにルーティングしません。DNS は要求を最も近いロード バランサーにルーティングし (または、バランサーの IP をそれぞれ公開した場合はラウンドロビン)、バランサーはどのバックエンドからコンテンツを提供するかを判断します。

答え2

Microsoft NLB はこれを実現します。2 つの異なる IIS サーバーを設定し、ポート 80/443 で 50/50 に分割する NLB クラスターに配置し、各 Web サイトの異なるバージョンを各ノードの inetpub に配置します。FQDN を NLB IP アドレスを指すように構成すると、単一の URL に移動してアクセスできる 2 つのバージョンの Web サイトが配布されます。

ただし、これはアクセスするノードを選択できるわけではなく、他のすべてのリクエストが異なるサーバーに送信されることを保証していることに注意してください。

答え3

私は現在、Apache のリバース プロキシ モジュールを使用してこれを本番環境で実行しています。ProxyPass ディレクティブを使用すると、受信 URL に基づいて異なるバックエンド サーバーにリクエストを渡すことができるようになります。

フロントエンドの Apache サーバーを www.site.com でリッスンするように設定し、要求された URL に基づいて 2 つのバックエンド サーバー (server1 と server2) に要求を渡します。Apache リバース プロキシを Google で検索すると、これを行う方法に関する多数のハウツーが見つかります。

関連情報