リバースプロキシとは何ですか?フォワードプロキシとリバースプロキシの違いは何ですか?

フォワードプロキシとリバースプロキシの違いを明確に説明した記事

フォワードプロキシとは何ですか? リバースプロキシとは何ですか? 違いは何ですか? この記事を読めば明らかになるでしょう…

まず、代理とは文字通り、一方の当事者に代わって処理すること、つまり一方が他方に物事を委託することを指しますが、コンピュータネットワークの世界では通常、代理とはクライアントとサーバーの間の仲介者を指します。

コンピュータ ネットワークのプロキシは、フォワード プロキシとリバース プロキシに分けられます。フォワード プロキシは非常に単純です。つまり、クライアントはサーバーに直接アクセスせず、仲介者を介してアクセスします (仲介者は、最初にクライアントに代わってサーバーからデータを取得します)。クライアントは、取得したデータをクライアントに返します)、これは簡単に理解できますよね? 多くの人は、なぜクライアントがサーバーに直接アクセスせずに「パンツを脱いでオナラする」のか疑問に思うでしょう。通常、次の 2 つの理由が考えられます。

1. 何らかの理由により、クライアントが配置されているネットワークではサーバーへのアクセスが制限されています。
2. いくつかの特別な理由により、サーバーは特定のソースからのクライアントのアクセスを許可していません。

たとえば、村 A と村 B の関係が悪いため、村 A が制限を設けて、村人 A が村 B の売店でトウモロコシを購入できないようにしたり、村 B の売店が村人 A にトウモロコシを販売しなかったりします。しかし、村人 A は村 B の売店からトウモロコシが欲しいので、どうすればよいでしょうか? 村人Aは、C村の人たちに自分の代わりにB村に物を買いに行き、それを持ち帰ってから渡すことができる、これが転送エージェントです。概略図は次のとおりです。
ここに画像の説明を挿入します

画像出典:自分で描いたもの

この構造の特徴は、サーバーは本当の顧客が誰であるかを知りません。サーバーが連絡する顧客はエージェントですが、顧客は実際にサービスを提供しているのが誰であるかを知っています (エージェントではなく B 売店です)。エージェントはクライアントです。サーバーに直接アクセスできない (または匿名でアクセスしたい) 場合の解決策は、 クライアントです。

リバースプロキシというと、クライアントがサーバーからデータを取得するのを仲介するのがフォワードプロキシなので、サーバーがデータを取得するのは当然リバースプロキシが仲介するのが普通だと考えられ、理解しにくい人も多いと思います。はい、しかしそうではありません。両者は大きく異なります。これが理解の難しさです。以下の写真を見てみましょう。
ここに画像の説明を挿入します

画像出典:自分で描いたもの

B村にはトウモロコシを生産している村人がたくさんいます(生産したトウモロコシが区別できないと仮定します)が、トウモロコシを個別に販売するのは面倒です。顧客はどれがトウモロコシを持っているのか、どれがどれだけの量を持っているのかを知りません。村 B の食堂に販売され (注: クライアントはサーバーです! )、食堂は統合された外部サービスを提供します。トウモロコシを購入する顧客は、そのトウモロコシがどこの会社から出ているのか知りませんので、売店から直接購入することができます。これはリバースプロキシです。

この構造の特徴は、クライアントが誰が本当のサーバー(プロバイダー)であるか分からないことですが、リバースプロキシは多くの場合、リクエストを最適なサーバーに転送して処理するなど、特定の戦略に従って処理します。サーバーのビジー状態。負荷分散戦略のように聞こえますか? はい、リバース プロキシは負荷分散シナリオの実装によく使用されます。Nginxなどの Web サーバーはリバース プロキシ機能をサポートしており、負荷分散の実装に広く使用されています。

要約: これら 2 つのプロキシ メソッドの名前は似ていますが、その目的とアプリケーション シナリオは大きく異なります。

  • 機能的な観点から見ると、
    フォワードプロキシはクライアントがサーバーに直接アクセスできない(不便)ソリューションであり、
    リバースプロキシは複数のサーバーが統一的に外部にサービスを提供するソリューションです。
  • ターゲット顧客の観点から見ると、
    フォワード プロキシのクライアントはクライアントであり、プロキシはクライアントにサービスを(一度に 1 つずつ)提供します。
    リバース プロキシのクライアントはサーバーで、プロキシは複数のクライアントにサービスを提供します。クライアント (通常は複数ですが、単一の場合もあります) サーバーがサービスを提供します
  • 可視性の観点から、
    フォワード プロキシはクライアントから見えます。これはクライアントの能動的な選択の結果です (オプションかどうか、サーバーは受動的にのみ選択できます)。クライアントは直接アクセスするかどうかを選択できます (アクセスが取得できるかどうか)。
    は別の問題です。)、クライアントからは見えないプロキシを介してリバース プロキシにアクセスすることも選択できます。これは、クライアントの受動的な選択の結果 (サーバーの能動的な選択の結果) です。つまり、クライアント現在アクセスしているサービスが使用されているかどうかはわかりません。リバースプロキシ

PS: 次の図に示すように、これら 2 つのプロキシ メソッドがネットワーク リクエスト内に共存する場合があります。
ここに画像の説明を挿入します

*画像出典:自分で描いたもの*

全員が自分の役割を果たしており、争いはまったくありません

友達、わかりますか?

おすすめ

転載: blog.csdn.net/one_and_only4711/article/details/117038339