ホストヘッダー機能を備えたルーター/ゲートウェイ

ホストヘッダー機能を備えたルーター/ゲートウェイ

自宅オフィス環境で、1 つのパブリック IP でポート 80 上の Web サーバーなど複数のサーバーを実行できるようにするには、ルーター / ゲートウェイ / ファイアウォールを取得するには何を探すべきかを教えていただけますか。サーバー コンピューターで Apache または IIS を使用して実行できることは知っています。Cisco または Netgear ルーターですか?

例えば:

ホスト1.example.com:80 -> 192.168.0.101

ホスト2.example.com:80 -> 192.168.0.102

答え1

Openwrt は apache/squid をうまくサポートしています。リバース プロキシにも apache を使用しました。必要なのは、openwrt 互換のルーターだけです。

次に、この特別なプロキシ動作方法では、Apache (Apache をお勧めします) を設定する必要があります。見た目ほど難しくはありません。必要に応じて、この投稿にいくつかの設定例をコピーして貼り付けます。

このようなプロキシに必要な CPU については、あまり問題はありません。ほとんどのルーターの CPU はそれほど強力ではありません。なぜなら、このようなハードウェア/ソフトウェア構成が行うことは、実際にはパケットを転送することだけではないからです。PHP 解釈や JVM のような CPU を大量に消費するものはなく、Apache はスレッド モードで「ワーカー」MPM を使用して実行できるため、非常に高速です。

答え2

ルーターは通常、サーバーを実行しません。OpenWRT および DD-Wrt ベースのルーターは、十分なメモリがあればこの機能を提供できます。これは、これらのルーターが Linux カーネルを実行しているためです。Web サーバー機能は、Apache や Squid などの Web サーバーまたはプロキシを実行することによって実現されます。

複数の小規模なサイトをサーバーとして運用する場合は、Rasberry Pi などのデバイスを使用して Web サイトを実行できる場合があります。さらに容量が必要な場合は、Linux を実行する小規模なサーバーでファイアウォールと Web サーバーの両方の機能を実現できます。私は、Web サーバーとファイアウォールの両方として Linux を実行する 2 つ目のネットワーク カードを備えたリサイクルされたデスクトップ システムから始めました。

この分離は Web サーバーで行います。主要な Web サーバーは、Host ヘッダーに基づいてコンテンツの配信を処理します。Apache Web サーバーでは、この機能を VirtualHosts と呼びます。ホストのトラフィックの一部またはすべてを 2 番目のサーバーにプロキシすることが可能です。

マルチドメイン HTTPS は、証明書がホスト名に関連付けられているため、より困難です。ドメインが関連している場合は、マルチドメイン証明書またはワイルドカード証明書が機能します。一部のサーバーは、証明書を提供する前にホスト名のネゴシエーションを処理できますが、これを正常に実装したことはありません。

ルーターで HTTP リクエストを Web サーバーに転送する必要があります。ほとんどのルーターは、ポートまたは DMZ アドレスでこの機能を提供します。

関連情報