記事ディレクトリ
フォワードプロキシ
- フォワード プロキシでは、プロキシ サーバーがクライアントに代わってターゲット サーバーにリクエストを送信し、ターゲット サーバーの応答をクライアントに返します。 通常、クライアントは外部リソースにアクセスするためにフォワード プロキシを使用するように構成する必要がありますが、ターゲット サーバーはプロキシ サーバーを認識しません。
フォワード プロキシの主な機能は次のとおりです。
-
プロキシ クライアント: クライアントに代わってプロキシ サーバーへのリクエストを開始します。クライアントはプロキシを使用していることを認識しているため、プロキシ サーバーにリクエストを送信し、プロキシ サーバーがクライアントに代わってターゲット サーバーにデータをリクエストします。
-
クライアントの実際の IP を非表示にする: フォワード プロキシ サーバーはリクエストを処理するときに、クライアントの実際の IP アドレスを非表示にするため、クライアントのプライバシーとセキュリティが向上します。ターゲット サーバーはプロキシ サーバーの IP アドレスしか認識できず、実際のクライアントを直接識別することはできません。
-
アクセス制限のバイパス: フォワード プロキシは、クライアントがアクセス制限やファイアウォール制限をバイパスするのに役立ちます。たとえば、一部の国や組織では特定の Web サイトやサービスへのアクセスを制限している場合がありますが、クライアントはフォワード プロキシを使用することで、これらの制限されたリソースにアクセスできます。
-
キャッシュ: フォワード プロキシ サーバーはターゲット サーバーの応答をキャッシュすることもできるため、繰り返されるリクエストのトラフィックが削減され、アクセス速度が向上し、ターゲット サーバーの負担が軽減されます。
- 一般的な例: 会社や学校のネットワーク環境。ネットワーク内にフォワード プロキシ サーバーがある場合、すべてのクライアント要求はプロキシ サーバー経由で外部ネットワークに送信される必要があります。これにより、外部リソースへのアクセスの制御と監視が可能になり、クライアントのセキュリティ制御を強化できます。
リバースプロキシ
- リバースプロキシは、バックエンドサーバーに代わってクライアントのリクエストを受信し、バックエンドサーバーにリクエストを転送し、バックエンドサーバーの応答をクライアントに返すプロキシサーバーの構成方法です。フォワード プロキシ**とは対照的に、クライアントはバックエンド サーバーが実際にリクエストを処理していることを知りませんが、プロキシ サーバーと直接通信していると考えます。**
リバース プロキシの主な機能は次のとおりです。
-
プロキシ バックエンド サーバー: リバース プロキシ サーバーは、バックエンド サーバーに代わってクライアントの要求を処理します。クライアントはバックエンド サーバーの存在を知りませんが、プロキシ サーバーと通信することだけを知っています。プロキシ サーバーは、クライアントとバックエンド サーバーの間の仲介者として機能します。
-
バックエンド サーバーの非表示: リバース プロキシを使用すると、バックエンド サーバーの実際の IP アドレスと構造を非表示にすることができ、サーバーのセキュリティとプライバシー保護が向上します。クライアントはバックエンド サーバーに直接アクセスできませんが、プロキシ サーバーとのみ通信できます。
-
負荷分散: リバース プロキシは、クライアント要求を複数のバックエンド サーバーに分散して負荷分散を実現できます。これにより、システムのパフォーマンスと信頼性が向上し、サーバー リソースが適切に使用されるようになり、サーバーの過負荷を防ぐことができます。
-
キャッシュ: リバース プロキシ サーバーは、バックエンド サーバーの応答をキャッシュできます。複数のクライアントが同じリソースを要求した場合、キャッシュされた応答を直接返すことができるため、バックエンド サーバーの負担が軽減され、応答速度と同時処理能力が向上します。 。
-
セキュリティ フィルタリング: リバース プロキシを使用すると、特定の IP へのアクセスのブロック、悪意のあるリクエストのフィルタリングなど、バックエンド サーバーを悪意のある攻撃から保護するなどのセキュリティ フィルタリング手段を実装できます。
一般的な例は、Web サイトの負荷分散です。ユーザーが Web サイトにアクセスすると、リクエストは最初にリバース プロキシ サーバーによって受信され、次にリバース プロキシは負荷分散アルゴリズムに従ってリクエストを複数のバックエンド サーバーの 1 つに転送します。バックエンド サーバーはリクエストを処理し、リバース プロキシに応答を返し、リバース プロキシはそれをユーザーに返します。ユーザーはバックエンド サーバーに直接接続せず、リバース プロキシ サーバーとのみ通信します。
要約する
- 概要: フォワード プロキシは、クライアントに代わってリクエストを送信し、クライアントの実際の IP を隠し、アクセス制限をバイパスできるようにし、キャッシュを提供するプロキシ サーバーです。対照的に、リバース プロキシは、サーバーに代わってリクエストを受信し、サーバーの実際の IP を隠し、負荷分散やセキュリティ フィルタリングなどの機能を実装するプロキシ サーバーです。
差別: nginx の二重のアイデンティティ
- 実際、Nginx には二重の ID があり、クライアントまたはバックエンド サーバーのどちらに代わって通信するかに応じて、Nginx は同時にフォワード プロキシとしてもリバース プロキシとしても機能します。
-
フォワード プロキシ: Nginx は、クライアントに代わって外部ターゲット サーバーにリクエストを送信するように構成されている場合、フォワード プロキシになります。
- この場合、クライアントはプロキシ サーバー経由でリクエストを送信していることを認識していますが、ターゲット サーバーはプロキシ サーバーの IP アドレスしか認識できないため、実際のクライアントの存在を知りません。
- この状況は通常、ローカル エリア ネットワークまたは一部の特定のネットワーク環境で、クライアントのアクセス権を制御したり、VPN などのアクセス制限をバイパスしたりするために使用されます。
-
リバース プロキシ: Nginx が外部クライアントに代わって内部サーバーにリクエストを送信するように構成されている場合、それはリバース プロキシになります。
- この場合、クライアントは Nginx が実際にリクエストを処理していることを知りませんが、 Nginx の背後でターゲット サーバーと直接通信していると考えます。Nginx は、設定に従ってクライアントのリクエストを複数の内部サーバーに転送し、処理後にクライアントに応答を返します。
- この状況は通常、負荷分散、セキュリティ障壁の提供、バックエンド サーバーの隠蔽などに使用されます。
- Nginx はリバース プロキシ サーバーと呼ばれます。これは、ほとんどの場合、リバース プロキシとして構成された Nginx を使用してクライアント要求を処理し、バックエンド サーバーに代わってクライアントと通信するためです。しかし実際には、Nginx は適切に設定すればフォワード プロキシとしても使用できます。