2 つの企業 Web サーバーホストが同じ LAN にあるとします。
- www.bluejeans.com LAN=192.168.1.2
- www.greenjeans.com LAN=192.168.1.3
同じWAN IPアドレスの背後にあります。インバウンドWAN HTTP要求(ポート80)では、要求を受信し、その要求をLANアドレス192.168.1.2または192.168.1.3に転送するかどうかを決定するための処理が必要です。理想的には、ゲートウェイデバイス(ルーター)は青と緑のURL要求を正しいLAN IPにマッピングできます。
このサービスの名前は何ですか?
サービスクラスの用語を理解すると、特定のインスタンスを評価できます。 UNIXベースのルーター(RT-AC68U Optware)またはRaspberry Piでこの機能を実装(テスト)したいと思います。
答え1
これは…と呼ばれる」リバースプロキシ「。両方Apache 2そしてnginxこのような特徴があるワニスにもこのような特徴があります。
個人的にも職業的にも、私はApache2をリバースプロキシとして使用します。私はVarnishを試しましたが、うまく実装したことはありません。しかし、それはそれがあなたに効果がないという意味ではありません。
覚えておくべきこと
- 実際のコンテンツのウェブサイトは通常、その後ろにアクセラレータがあることに注意してください。
- httpsを使用してリバースプロキシを実行します(たとえば、LetsEncryptにはSSL証明書を生成および更新するのに十分な自動化機能があります)。
- httpsを使用して実際のWebサイトを実行するのではなく、httpsを実行していると思うことを確認してください。
- 入って来るURLを書き換えるだけでなく、出てくるコンテンツも書き換える必要があります。
答え2
ブラウザにURLを入力してドメイン名に対するHTTP要求を行うと、ブラウザはまずドメインのIPアドレスを検索し、ポート#80でそのIPへの接続を開き、要求を送信します(さまざまなバリエーションがあります)。 )しかし、例では例だけで十分です):
テストURL:http://www.bluejeans.com/testurl
> GET /testurl HTTP/1.1
> User-Agent: curl/7.20.0 (i686-pc-linux-gnu) libcurl/7.20.0 OpenSSL/1.0.2t zlib/1.2.3 libidn/0.6.5
> Host: www.bluejeans.com
> Accept: */*
ご覧のとおり、元のURLが分割され、ターゲットドメイン名がHost:
ヘッダーに含まれ、残りのURLパスがパラメータになりますGET
。これは、Webサーバー、リバースプロキシ、キャッシュ、または特定のIP:ポートでリッスンするすべてのミドルウェアに到達する情報です。
この情報だけで、着信要求がどのWebサイトに行きたいかを決定し、それを正しく処理できます。編集者代行実際に要求を処理するサーバー(時には呼び出される)に転送されますorigin server
。