URLのドメインに基づいてWebリクエストをプライベートネットワークにルーティングするにはどうすればよいですか?

URLのドメインに基づいてWebリクエストをプライベートネットワークにルーティングするにはどうすればよいですか?

想像する:

IP 数が制限されているため、複数のドメイン名が同じ IP アドレスで解決されます。ただし、これらのドメインはすべて同じネットワークサーバー、仮想マシン、または専用マシンで実行されていない可能性があります。そのため、プライベートネットワークに入ってくるドメインをURLのドメインに基づいて正しい場所にルーティングしたいと思います。

どうすればいいですか?

答え1

ほとんどのルーター/ファイアウォールは、特定のポートに基づいてトラフィックのリダイレクトを許可します。たとえば、すべてのSMTPトラフィック(ポート25)は192.168.1.1にリダイレクトされます。

ただし、トラフィックを処理するサーバーが複数ある場合(ドメインごとに1台のサーバー)。リバースプロキシ(nginxHTTP、IMAP、POP3をサポートします。たとえば、ポート80へのすべてのトラフィックは192.168.1.2nginxが実行されているポートにリダイレクトされ、ホスト名に従ってまたはlocalhostリダイレクトされます192.168.1.4

答え2

あなたの質問を完全に理解したかどうかはわかりません。これにより、NATの背後にHTTPサーバーとして実行されている複数のコンピューターがあります。リクエストが届いたら、サーバーのいずれかに転送されますか?

Apacheとmod_rewriteを使用すると、次のように抽出できます。

  1. http://www.linuxquestions.org/questions/linux-networking-3/apache-forward-request-to-another-box-264864/

  2. http://www.sematopia.com/2007/09/apache-forwarding-requests-to-another-server/

乾杯。

答え3

私は次のようなものを使って何かをしました。エージェントパスApacheのmod_proxyの下のディレクティブ。

まず、名前ベースの仮想ホスティング異なるドメインが同じIPを使用して異なるサイトをホストできるようにするには、内部Webサーバーに関連付けられているドメインに対して次の設定を使用します。

# Within your VirtualHost definition
ServerName somedomain.com
ProxyPass / http://10.0.1.42/
ProxyPassReverse / http://10.0.1.42/

http://somedomain.comこれにより、すべての要求がホストされている内部サイトに透過的にプロキシされますhttp://10.0.1.42

ファタイ

答え4

私はしばらく前に同じことを探していました。一度も触れたことはありませんが、役に立つかもしれないと思いました。

mod_proxyモジュールを使用し、このnoproxyディレクティブを使用してください。

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#noproxy

関連情報