1873

プロキシ サーバーとリバース プロキシ サーバーの違いは何ですか?

4

21 に答える 21

3100

以前の回答は正確でしたが、おそらく簡潔すぎます。いくつか例を追加してみます。

まず第一に、「プロキシ」という言葉は、誰かまたは他の誰かに代わって行動する何かを表します。

コンピューターの領域では、あるサーバーが別のコンピューターに代わって動作することについて話しています。

アクセシビリティの目的で、議論をWebプロキシに限定しますが、プロキシの概念はWebサイトに限定されません。

フォワードプロキシ

Webプロキシに関するほとんどの説明は、「フォワードプロキシ」と呼ばれるタイプのプロキシに言及しています。

この場合のプロキシイベントは、「フォワードプロキシ」が元の要求先に代わって別のWebサイトからデータを取得することです。

3台のコンピューターの話(パートI)

例として、インターネットに接続されている3台のコンピューターをリストします。

  • X =コンピュータ、またはインターネット上の「クライアント」コンピュータ
  • Y =プロキシWebサイト、proxy.example.org
  • Z =アクセスしたいWebサイト、www.example.net

通常、から直接接続しますX --> Z.

ただし、一部のシナリオでは、Y --> Zに代わってX次のようにチェーンする方が適切ですX --> Y --> Z

Xがフォワードプロキシサーバーを使用する理由:

フォワードプロキシサーバーの使用法の(非常に)部分的なリストは次のとおりです。

  • 1)XはZに直接アクセスできません。

    • Xa)のインターネット接続を介した管理権限を持つ誰かが、サイトへのすべてのアクセスをブロックすることを決定しましZた。

      • 例:

        • ストームワームウイルスは、人々をだまして訪問させることで拡散しているfamilypostcards2008.comため、システム管理者は、ユーザーが不注意に自分自身に感染するのを防ぐために、サイトへのアクセスをブロックしています。

        • 大企業の従業員は多くの時間を浪費しているfacebook.comため、経営陣は営業時間中はアクセスをブロックしたいと考えています。

        • 地元の小学校は、playboy.comウェブサイトへのインターネットアクセスを許可していません。

        • 政府はニュースの公開を制御できないため、代わりに、などのサイトをブロックすることでニュースへのアクセスを制御しますwikipedia.orgTORまたはFreeNetを参照してください。

    • b)の管理者ZがブロックしXました。

      • 例:

        • Zの管理者は、Xからのハッキングの試みに気付いたため、XのIPアドレス(および/またはネットレンジ)をブロックすることにしました。

        • Zはフォーラムのウェブサイトです。 Xフォーラムをスパムしています。ZはXをブロックします。

リバースプロキシ

3台のコンピューターの話(パートII)

この例では、インターネットに接続されている3台のコンピューターをリストします。

  • X =コンピュータ、またはインターネット上の「クライアント」コンピュータ
  • Y =リバースプロキシWebサイト、proxy.example.com
  • Z =アクセスしたいWebサイト、www.example.net

通常、から直接接続しますX --> Z.

ただし、一部のシナリオでは、管理者がZ直接アクセスを制限または禁止し、訪問者に最初にYを通過させる方がよい場合があります。したがって、以前と同様に、Y --> Zに代わってデータが取得されX、次のようにチェーンされますX --> Y --> Z

今回の「フォワードプロキシ」との違いは、ユーザーは自分がと通信していることだけを確認できるため、Xアクセスしていることをユーザーが知らないことです。サーバーはクライアントからは見えず、リバースプロキシのみが外部から見えます。リバースプロキシは、クライアント側で(プロキシ)構成を必要としません。ZXYZY

クライアントは、 ( )Xとのみ通信していると考えていますが、実際には、すべての通信を(再び)転送しています。YX --> YYX --> Y --> Z

Zがリバースプロキシサーバーをセットアップする理由:

  • 1)Zは、Webサイトへのすべてのトラフィックが最初にYを通過するように強制したいと考えています。
    • a)Zには何百万人もの人々が見たいと思う大きなWebサイトがありますが、単一のWebサーバーですべてのトラフィックを処理することはできません。そのため、Zは多くのサーバーをセットアップし、インターネット上にリバースプロキシを配置して、ユーザーがZにアクセスしようとしたときに、ユーザーを最も近いサーバーに送信します。これは、コンテンツ配信ネットワーク(CDN)の概念の一部です。
  • 2)Zの管理者は、サーバーでホストされているコンテンツに対する報復を心配しており、メインサーバーを直接公開したくありません。
    • a)「CanadianPharmacy」などのスパムブランドの所有者は数千台のサーバーを所有しているように見えますが、実際にはほとんどのWebサイトがはるかに少ないサーバーでホストされています。さらに、スパムに関する悪用の苦情は、メインサーバーではなく、パブリックサーバーのみをシャットダウンします。

上記のシナリオでZは、を選択する機能がありますY

投稿からのトピックへのリンク:

コンテンツ配信ネットワーク

フォワードプロキシソフトウェア(サーバー側)

HTTP用リバースプロキシソフトウェア(サーバー側)

TCP用リバースプロキシソフトウェア(サーバー側)

参照:

于 2008-12-14T05:49:08.377 に答える
569

A pair of simple definitions would be:

Forward Proxy: Acting on behalf of a requestor (or service consumer)

Reverse Proxy: Acting on behalf of service/content producer.

于 2012-08-10T14:35:41.087 に答える
456

下の図がとても参考になりました。これは、クライアントからサーバーへのインターネットを介したフォワードプロキシとリバースプロキシのセットアップのアーキテクチャを示しているだけです。この画像は、qyb2zm302 の回答と他の回答をよりよく理解するのに役立ちます。

フォワード プロキシとリバース プロキシ

また、Peter Silva によるF5DevCentralからこのビデオを視聴することもできます。

画像ソース: Quora . ただし、Martijn Pietersによると、この画像はPulse Secure Communityまたは Julien Pauli のサイト(フランス語)、developpez.com からのものである可能性があります。

次の古典的なことわざを思い出しました。

写真は1000語に値します。

于 2016-08-31T04:55:04.643 に答える
252

Forward Proxy vs. Reverse Proxy (2012) では、フォワード プロキシとリバース プロキシの違いが非常に明確に説明されています。

qyb2zm302 の回答では、プロキシのアプリケーションについて詳しく説明されていますが、フォワード プロキシとリバース プロキシの間の基本的な概念が間違っています。リバース プロキシ、X → Y → Z の場合、X は Y について知っているが、Z については知っていない。

プロキシは、通信 (リクエスト + レスポンス) の単なる仲介者です。クライアント <-> プロキシ <-> サーバー

  • クライアント プロキシ: (クライアント <-> プロキシ) <-> サーバー

The proxy acts on behalf of the client. The client knows about all three machines involved in the chain. The server doesn't.

  • Server proxy: client <-> ( proxy <-> server )

The proxy acts on behalf of the server. The client only knows about the proxy. The server knows the whole chain.

It seems to me that forward and reverse are simply confusing, perspective-dependent names for client and server proxy. I suggest abandoning the former for the latter, for explicit communication.

もちろん、問題をさらに複雑にしているのは、すべてのマシンがもっぱらクライアントまたはサーバーというわけではないということです。コンテキストがあいまいな場合は、プロキシが存在する場所と、プロキシがトンネリングする通信を明示的に指定することをお勧めします。

于 2013-01-07T05:29:22.767 に答える
130

いくつかの図が役立つ場合があります。

フォワード プロキシ

フォワード プロキシ

リバース プロキシ

リバース プロキシ

于 2015-01-17T16:14:23.933 に答える
74

違いは主に展開にあります。Web フォワード プロキシとリバース プロキシはすべて、同じ基本機能を備えています。これらは、さまざまな形式の HTTP 要求の要求を受け入れ、通常はオリジン サーバーまたはコンタクト サーバーにアクセスして応答を返します。

フル機能のサーバーには、通常、アクセス制御、キャッシュ、およびいくつかのリンク マッピング機能があります。

フォワード プロキシは、クライアント マシンを構成することによってアクセスされるプロキシです。クライアントには、プロキシ機能 (リダイレクト、プロキシ認証など) のプロトコル サポートが必要です。プロキシはユーザー エクスペリエンスに対して透過的ですが、アプリケーションに対しては透過的ではありません。

リバース プロキシは、Web サーバーとしてデプロイされ、Web サーバーのように動作するプロキシです。クライアントの観点からWeb サーバーであるため、ユーザー エクスペリエンスは完全に透過的です。

実際、単一のプロキシ インスタンスは、さまざまなクライアント母集団に対して同時にフォワード プロキシおよびリバース プロキシとして実行できます。

于 2008-10-23T00:04:48.343 に答える
69

Proxy: クライアントに代わってリクエストを行います。したがって、サーバーは応答をプロキシに返し、プロキシは応答をクライアントに転送します。実際、サーバーはクライアントが誰であるか (クライアントの IP アドレス) を「学習」することはありません。プロキシのみを認識します。ただし、クライアントはサーバー宛ての HTTP 要求を基本的にフォーマットするため、サーバーを確実に認識していますが、それをプロキシに渡すだけです。

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

リバース プロキシ: サーバーに代わってリクエストを受信して​​います。リクエストをサーバーに転送し、レスポンスを受信して​​から、クライアントにレスポンスを返します。この場合、クライアントは実際のサーバー (サーバーの IP アドレス) が誰であったかを「学習」しません (いくつかの例外があります)。プロキシのみを認識します。サーバーは、リバース プロキシの構成に応じて、実際のクライアントを認識する場合と認識しない場合があります。

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

于 2016-02-20T13:06:48.267 に答える
51

最良の説明は、図を使用してここにあります。

フォワード プロキシがクライアント(または要求ホスト)に代わってプロキシするのに対し、リバース プロキシはサーバーに代わってプロキシします。

実際、フォワード プロキシはクライアントの ID を隠しますが、リバース プロキシはサーバーの ID を隠します。

于 2016-08-04T06:36:19.677 に答える
39

プロキシ サーバーは、発信するネットワーク リクエストを、インターネット上のさまざまな必ずしも関連性のないパブリック リソースにプロキシ (およびオプションでキャッシュ) します。リバース プロキシは、インターネットから受信した要求をキャプチャ (およびオプションでキャッシュ) し、通常は高可用性を目的として、さまざまな内部プライベート リソースに配布します。

于 2008-10-22T06:45:58.253 に答える
13

Apacheの観点からの私の理解では、プロキシとは、サイト x がサイト y をプロキシする場合、x に対する要求が y を返すことを意味します。

リバース プロキシとは、y へのすべての参照が x になるように、y からの応答が調整されることを意味します。

ユーザーがプロキシが関与していることを認識できないように...

于 2008-10-22T06:33:20.010 に答える
11

私の理解では...

そもそも代理とは、ご存知のように「他人を代理する権限」を意味します。現在、フォワード プロキシとリバース プロキシの 2 つがあります。

フォワード プロキシ

「Google」にアクセスしたいとします。「Google」には、その特定のリクエストに応答するためのサーバーが n 個あります。

この場合、Google に何かをリクエストしていて、Google に IP アドレスを見せたくない場合は、以下で説明するように、フォワード プロキシを使用します。

A→B→C

ここで、あなたは A で、B を介してリクエストを送信しています。したがって、C は、リクエストが A ではなく B から来ていると見なします。このようにして、クライアントの IP アドレスが外部に公開されないようにすることができます。

リバース プロキシ

この場合、理解を深めるために、フォワード プロキシの同じケースを取り上げます。ここで、Google に何かをリクエストしました。Google は、1 つのリクエストをアプリ サーバーまたは別のプロキシ サーバーに送信して、レスポンスを取得します。したがって、これらのことは、以下で説明するように発生します。

A→B→C

し→し

中 ← 中

A ← B ← C

上の図から、リクエストが A からではなく B から C に送信されたことがわかります。次に、C から D に 1 つのリクエストが送信されます。同様に、応答は D から C に送信され、次に B と A に送信されます。

上の図は、両方のプロキシが同じように動作しているにもかかわらず、重要なのはコンテキストだけであることを示していますが、クライアント側のプロキシはクライアント情報を隠していますが、サーバー側のプロキシはサーバー側の情報を隠しています.

于 2012-12-08T19:00:55.053 に答える
9

これは、(ロードバランサーとしての)リバースプロキシの例です。

クライアントがwebsite.comにアクセスし、アクセスしたサーバーでリバースプロキシが実行されています。リバースプロキシはたまたまポンドです。Poundはリクエストを受け取り、その背後にある3つのアプリケーションサーバーの1つに送信します。この例では、ポンドはロードバランサーです。つまり、3つのアプリケーションサーバー間で負荷を分散しています。

アプリケーションサーバーは、Webサイトのコンテンツをクライアントに提供します。

于 2009-06-29T13:19:26.843 に答える
8

フォワード プロキシユーザーにサービスを提供します。つまり、ユーザーがサーバーにアクセスできるようにします。

リバース プロキシサーバーにサービスを提供します。サーバーユーザーから保護します。

于 2019-03-08T07:34:43.110 に答える
0

サービスの目的を考えてみましょう。

フォワード プロキシの場合:

プロキシは、ユーザーがサーバーにアクセスするのに役立ちます。

リバース プロキシの場合:

プロキシは、ユーザーがサーバーにアクセスできるようにします。

後者の場合、プロキシによって支援されるのはユーザーではなくサーバーです。これがリバースプロキシと呼ばれる理由です。

于 2020-07-22T09:21:53.853 に答える