フォワードプロキシとリバースプロキシの違いを理解する
フォワード エージェントのコンセプト
フォワード エージェントは伝説的なエージェントです。彼の行動原理は踏み台のようなものです。
簡単に言えば、私はユーザーです。特定の Web サイトにアクセスできませんが、プロキシ サーバーにはアクセスできます。
このプロキシ サーバーに関しては、私がアクセスできない Web サイトに彼はアクセスできます。
そこで、最初にプロキシ サーバーに接続し、コンテンツが必要であることを彼に伝えました。アクセスできない Web サイトの内容
プロキシ サーバーがコンテンツを取得して返します
分からない場合もあります。これはユーザーの要求であり、ユーザーの情報も非表示にします。エージェントが Web サイトに通知するかどうかによって異なります。
結論としては、フォワード プロキシは、サーバー間のサーバーです。クライアントとオリジン サーバーの場合、元のサーバーからコンテンツを取得するために、クライアントはプロキシにリクエストを送信し、ターゲット (元のサーバー) を指定します。その後、プロキシはリクエストを元のサーバーに転送して、取得したコンテンツを返します。クライアントに。フォワード プロキシを使用するには、クライアントで特別な設定を行う必要があります。
Apache プロキシ モジュールを有効にする
a2enmod proxy a2enmod proxy_http
フォワード プロキシの設定は非常に簡単です。ブラウザのプロキシ オプションを追加するだけです。 Apache によって構成された vHost ホストは次のとおりです。1.1 Apache 構成 httpd-vhosts.conf (Windows を例にします)
<VirtualHost *:80> ServerAdmin prograsliu@gmail.com DocumentRoot "D:/www/test" ServerName www.test.com ServerAlias test.com ErrorLog "logs/test.com-error.log" CustomLog "logs/test.com-access.log" common Alias /sublook "D:/www/test/look/sublook/" <Directory "D:/www/test"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> #正向代理设置 ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Deny from all Allow from 127.0.0.1 </Proxy> </VirtualHost>
ProxyRequests On: Apache フォワード プロキシをオンにする
ProxyVia On: プロキシ サーバー チェーンにあるプロキシ リクエストのフローを制御する
公式 Apache2.2 ドキュメントの ProxyVia の説明は次のように引用されています。 :
1. デフォルト値 Off に設定されている場合、特別な処理は行われません。リクエストまたはレスポンスに「Via:」ヘッダーが含まれている場合、変更せずに通過します。
2. On に設定すると、各リクエストと応答は現在のホストに対応する「Via:」ヘッダーを取得します。
3. Full に設定すると、Apache サーバーのバージョンが生成された各 "Via:" ヘッダーに追加され、"Via:" 注釈フィールドに表示されます。
4. [ブロック] に設定すると、各プロキシ リクエストのすべての「Via:」ヘッダー行が削除されます。また、新しい「Via:」ヘッダーは生成されません。
<Proxy *> Order deny,allow Deny from all Allow from 127.0.0.1 </Proxy>
#1.2 ブラウザ設定 (例として FireFox を使用します)
# 1.3 アクセス効果
www.sina.com にアクセスして HTTP リクエストを観察します。 応答: Via: www.test.com で、フォワード プロキシが次のとおりであることがわかります。成功。
例を続けます:
ユーザーは http://test.me/readme にアクセスしますが、テスト。Readme ページは私には存在しません。
彼はそれを別のサーバーから秘密裏に取得し、それを自分のコンテンツとしてユーザーに吐き出しました。
#しかし、ユーザーはそれを知りませんでした
结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。
2.1 Apache设置
<VirtualHost *:80> ServerAdmin prograsliu@gmail.com DocumentRoot "D:/www/test" ServerName www.test.com ServerAlias test.com ErrorLog "logs/test.com-error.log" CustomLog "logs/test.com-access.log" common Alias /sublook "D:/www/test/look/sublook/" <Directory "D:/www/test"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> #反向代理设置 ProxyPass /proxy http://www.proxypass.com/proxy ProxyPassReverse /proxy http://www.proxypass.com/proxy </VirtualHost> <VirtualHost *:80> ServerAdmin prograsliu@gmail.com DocumentRoot "D:/www/proxypass" ServerName www.proxypass.com ServerAlias proxypass.com <Directory "D:/www/proxypass"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
现在看反向代理设置那一段
ProxyPass /proxy http://www.proxypass.com/proxy : 将 www.test.com/proxy 域下的所有请求转发给 www.proxypass.com/proxy 代理,例如 www.test.com/proxy/login.php 会交给 www.proxypass.com/proxy/login.php 代理
ProxyPassReverse /proxy http://www.proxypass.com/proxy :
www.proxypass.com/proxy/login.php 中有如下代码:
<?php header('Location: http://www.proxypass.com/proxy/result.php'); ?>
那么在重定向的时候,Apache会将HTTP请求重新设为 http://www.test.com/proxy/result.php, 这样的作用稍后讲解
www.proxypass.com/proxy/result.php 中有如下代码:
<?php echo 'in proxypass.com <br>'; ?>
2.2 浏览器访问效果
访问 www.test.com/proxy/login.php
Apache将请求交给 www.proxypass.com/proxy/login.php 代理,HTTP请求如图:
可以发现其实Request中的请求还是 www.test.com 的,但是它确实是由 www.proxypass.com 来处理的
proxypass.com/proxy/login.php 重定向到 proxypass.com/proxy/result.php
页面显示 in
proxypass.com
HTTP请求如图:
也可以看到请求依然是 www.test.com/proxy/result.php
这里就是 ProxyPassReverse 发挥作用的地方,如果不加这个项,重定向后HTTP请求会如下图:
可以发现请求中的GET是 www.proxypass.com 而不是 www.test.com ,这是因为配置了ProxyPassReverse后,proxypass.com/proxy/login.php 在重定向到 proxypass.com/proxy/result.php 时,Apache会将它调整回 test.com/proxy/result.php , 然后Apache再将 test.com/proxy/result.php 代理给 proxypass.com/proxy/result.php,所以说配置了
ProxyPassReverse 后,即使 proxypass.com/proxy 下的程序有重定向到其他 proxypss.com/proxy 的文件的(如 login.php 重定向到 result.php),你也不会在请求中发现 proxypass.com 的影子。
两者区别
从用途上来讲:
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
正向代理还可以使用缓冲特性减少网络使用率。
反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。
反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。
另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
セキュリティの観点:
フォワード プロキシを使用すると、クライアントはそれを介して任意の Web サイトにアクセスし、クライアント自体を隠すことができるため、許可されたユーザーのみがアクセスできるようにセキュリティ対策を講じる必要があります。クライアントがサービスを提供します。 リバース プロキシは外部に対して透過的であるため、訪問者は自分がプロキシを訪問していることを知りません。 この記事では、フォワード プロキシとリバース プロキシの違いについて説明します。関連コンテンツの詳細については、php 中国語 Web サイトを参照してください。 関連する推奨事項:Google Playに自動ログインしてアプリレポートをダウンロードする関連コンテンツを紹介します
以上がフォワードプロキシとリバースプロキシの違いを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 はじめに: FastAPI と Nginx は 2 つの非常に人気のある Web 開発ツールです。 FastAPI は高性能 Python フレームワークであり、Nginx は強力なリバース プロキシ サーバーです。これら 2 つのツールを一緒に使用すると、Web アプリケーションのパフォーマンスと信頼性が向上します。この記事では、リバース プロキシと負荷分散のために FastAPI で Nginx を使用する方法を学びます。逆生成とは何ですか

Nginx は、リバース プロキシ サーバーとしても広く使用されている、高性能、オープンソース、多用途の Web サーバーです。リバース プロキシ サーバーを使用すると、負荷分散、高可用性、アクセス制御、トラフィック制御などの機能を提供できます。この記事では、Nginx リバースプロキシにおけるアクセス制御とフロー制御のアプリケーションを紹介します。 1. アクセス制御 IP アドレス ブラックリスト/ホワイトリスト Nginx は、IP アドレス ブラックリストまたはホワイトリストを構成することで、リクエストに対するアクセス制御を実装できます。ブラックリスト内の IP アドレスはアクセスを拒否されますが、ホワイトリスト内の IP アドレスはアクセスを拒否されます。

Web アプリケーションの急速な開発に伴い、開発に Golang 言語を使用する企業が増えています。 Golang 開発では、Gin フレームワークの使用が非常に一般的な選択肢です。 Gin フレームワークは、HTTP エンジンとして fasthttp を使用し、軽量でエレガントな API 設計を備えた高性能 Web フレームワークです。この記事では、リバース プロキシのアプリケーションと、Gin フレームワークでの転送リクエストについて詳しく説明します。リバース プロキシの概念 リバース プロキシの概念は、プロキシ サーバーを使用してクライアントを作成することです。

静的 Web ページ アクセスの高速化を実現する Nginx リバース プロキシ キャッシュ構成 はじめに: インターネットの急速な発展に伴い、アクセス速度は Web サイトの運用において非常に重要な要素となっています。 Web ページのアクセス速度を向上させるために、Nginx リバース プロキシ キャッシュ テクノロジを使用して Web ページを高速化できます。この記事では、Nginx を使用してリバース プロキシ キャッシュを構成し、静的 Web ページを高速化する方法を紹介します。 Nginx リバース プロキシ キャッシュの構成: Nginx のインストール: まず、Nginx サーバーをインストールする必要があります。これは apt-ge を通じて実行できます。

NginxProxyManager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 近年、インターネットの普及とアプリケーション シナリオの多様化に伴い、Web サイトやアプリケーションへのアクセス方法はますます複雑になっています。 Web サイトへのアクセス効率とセキュリティを向上させるために、多くの Web サイトはユーザーのリクエストを処理するためにリバース プロキシを使用し始めています。 HTTPS プロトコルのリバース プロキシは、ユーザーのプライバシーを保護し、通信のセキュリティを確保する上で重要な役割を果たします。この記事ではNginxProxyの使い方を紹介します。

NginxProxyManager を使用してリバース プロキシ負荷分散戦略を実装する NginxProxyManager は、リバース プロキシと負荷分散を簡単に実装できる Nginx ベースのプロキシ管理ツールです。 NginxProxyManager を構成することで、リクエストを複数のバックエンド サーバーに分散して負荷分散を実現し、システムの可用性とパフォーマンスを向上させることができます。 1. NginxProxyManager をインストールして設定する

Web サイトのアクセス速度を向上させる Nginx リバース プロキシ キャッシュ構成 はじめに: インターネット時代において、Web サイトのアクセス速度は非常に重要です。 Web サイトの読み込みが遅いとユーザーはイライラし、ユーザー離れを引き起こす可能性があります。 Webサイトのアクセス速度を向上させるには、リバースプロキシキャッシュを利用してサーバーの負荷を軽減し、ページの読み込みを高速化する方法が一般的です。この記事では、Nginxを使用してリバースプロキシキャッシュを設定し、Webサイトのアクセス速度を向上させる方法を紹介します。 1. Nginx リバースプロキシキャッシュとは何ですか?ンギン

リバース プロキシを使用すると、アクセス不能の問題が発生する可能性があります。特に PHP をリバース プロキシとして使用する場合、この問題はより顕著になるようです。この記事では、この問題の一般的な原因と解決策について説明します。
