インターネットなどのコンピュータネットワークにおいて、リバースプロキシとは、パブリックネットワークからアクセス可能な一般的なプロキシサーバーのことです。 大規模なWebサイトやコンテンツ配信ネットワークでは、内部サーバー間の負荷を分散するために、他の技術と合わせてリバースプロキシを使用しています。 リバースプロキシは、静的コンテンツのキャッシュを保持することができるため、これらの内部サーバーや内部ネットワークの負荷をさらに軽減することができます。
シナリオ例。 インターネット上のクライアント(左の雲)がリバースプロキシサーバー(中央の赤い楕円)にリクエストをします。 プロキシはリクエストを検査し、リクエストが有効であることと、リクエストされたリソースが自分のキャッシュにないことを判断します。 そして、リクエストを内部のウェブサーバ(右の楕円)に転送します。 内部サーバは、要求されたリソースをプロキシに返し、プロキシはそれをクライアントに届けます。 インターネット上のクライアントは内部ネットワークを知らず、プロキシと通信しているのか、ウェブサーバーと直接通信しているのかを知ることができません。
リバースプロキシは通常、ウェブサービスが所有または管理しており、公共のインターネットからクライアントがアクセスします。 対照的に、フォワードプロキシは通常、プライベートな内部ネットワークに制限されているクライアント(またはその会社)によって管理されます。
リバースプロキシサーバーは、Apache、Nginx、Caddyなどの一般的なオープンソースのWebサーバーに実装されています。
リバースプロキシサーバーは、Apache、Nginx、Caddyなどの一般的なオープンソースのウェブサーバーに実装されています。このソフトウェアは、HTTPヘッダーを検査することができ、例えば、単一のIPアドレス上で、HTTPリクエストのドメイン名に基づいて異なる内部サーバーにリクエストを中継することができます。 オープンソースソフトウェアのHAProxyやSquidなどの専用リバースプロキシサーバーは、インターネット上の最大級のウェブサイトで使用されています。 また、商用のリバースプロキシサーバーとしては、Cloudflare社やImperva社などが有名です。