同じポートと同じパブリックIPをリッスンする2つの異なるサーバー


0

2つのVMを実行していますが、両方ともポート80/443をリッスンしています。パブリックIPが1つだけあり、パブリックIPを指すサブドメインがいくつかあります。どういうわけか、ポート80/443で両方のVMにアクセスできるようにしたいと思います。

私が念頭に置いているシナリオは、外部の世界から80/443リクエストを受信し、それに応じてVMにリダイレクトする3番目のVMを何らかの形で関与させることです。3番目のVMは、ポートが関与していないローカルIPを使用してVMで要求を行う「プロキシ」として機能できます。それが可能かどうかはよくわかりませんが、どんな提案も受け付けています。

ここに画像の説明を入力してください


1
IISサーバーにトラフィックをOwnCloudサーバーにリダイレクトさせることもできます。そのように3番目のサーバーは必要ありません。必要なリダイレクトの数と、IISサーバーの強度が十分かどうかによって異なります。しかし、スキームを正しく理解していれば、OwnCloudはおそらくWebページではなくファイルをホストしている可能性があります。この場合、IISサーバーでのリダイレクトによって完全に機能します。
LPChip

IISを使用してプロキシのリダイレクトを行うことができました。現在、問題はSSL証明書です。以前は、apache2でSSLをセットアップしていました。IISプロキシはローカルIPを使用してApacheサーバーにアクセスするため、SSL証明書はエラーを出します。そのため、IISサーバーでSSLハンドシェイクを確立する必要があります。そうですか?それを行う他の方法はありますか?ApacheサーバーでSSLを維持し、IISで何らかの形でパススルーできますか?(たぶんばかげた質問かもしれませんが、私は尋ねなければなりません
でした

まあ。最後にそれをうまくやった。私がしたことは、独自のクラウドサーバーでHTTPをセットアップし、IISでHTTPSをセットアップし、Apacheから証明書をインポートすることです。助けてくれてありがとうLPChip!
ボビス

回答:


1

私が念頭に置いているシナリオは、外部の世界から80/443リクエストを受信し、それに応じてVMにリダイレクトする3番目のVMを何らかの形で関与させることです。

あなたは間違いなくこれを正しい方法で見ています。個人的には、HAProxyのようなものを使用して目標を達成します。実際の実装は、ニーズ/環境に依存します。

最も単純な形式は、1つのサーバー(1080/1443など)に対して異なるポートセットを使用し、それに応じてトラフィックをリダイレクトすることです。これは、ほぼすべてのプロキシサーバーまたはルーター/ NATゲートウェイで実行できます。

HAProxyまたは同様のソフトウェアを使用すると、好きなだけ複雑にすることができます。1つのサーバーまたは他のサーバーに向かうトラフィックを指定する方法の例:

  • リクエストで使用されるURL(たとえば、/ app1 / whateverがサーバー1に送信されるもの、デフォルトはサーバー2に送信されるURL)
  • 要求を行うソースIP
  • 要求されているファイルの種類(.phpファイルに対するすべての要求はサーバー2に送られます)
  • 要求を行うユーザーエージェント(すべてのiPhoneトラフィックはサーバー2に送られます)
  • 使用したいヘッダーの他の側面
  • 上記のいずれかまたはすべての組み合わせ

HAProxyを使用して多くのことを行うための多くの記事とチュートリアルがあります(ここには複数のSEサイトが含まれます)。たとえば、URLに基​​づくトラフィックのルーティングに関する簡単な投稿を次に示します。または上の例ServerFaultのされたソースIPに基づきます。Googleは、あなたがするかもしれないことの例を見つけるとき、あなたの友達になります。

できることはすべてドキュメントで確認することをお勧めします。


1

あなたが提案していることは完全に実用的であり、一般的です。あなたがしていることを説明するために使用される用語の1つは、「リバースプロキシ」です。これを実現するには、ApacheとSquidを使用するなど、いくつかの方法があります。

httpの動作方法のため、(simple / iptablesタイプの)ファイアウォールレベルでそれを行うことはできません。パケットをインターセプトしてヘッダーを読み取る必要があります。

Httpsはさらに複雑になります。オーバーヘッドが増え、証明書が複雑になるため、httpsを内部的にhttpよりも外部で考慮することをお勧めします。

DNSに関する図のビットは不明確です。外部DNSを使用し、プロキシサーバーで特定のルールを使用して、ドメインを最終的なhttp(s)サーバーにマップします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.