reverse-proxyとforward-proxy

proxyって仲介屋さんくらいにしか認識してなくて、reverse-proxyとforward-proxyの理解があやふやだった。

少し理解できた気がするのでまとめておく。

forward-proxy

クライアントが経由地として「意識する」Proxyがforward-proxy。

一般的にはただのProxyというとこちらを指すらしい。
(reverse-proxyの対比としてforward-proxyと呼ばれる模様)

例えばリクエストヘッダに乗せたり、ブラウザで設定するようなProxyはforward-proxyになる。

用途としては、内部ネットワークから外部へ通信する時に、ゲートウェイ的に使いたいときとかなのかなー、と想像している。

reverse-proxy

クライアントが経由地として「意識しない」Proxyがreverse-proxy。

クライアントはProxyを目的地だと思っており、Proxyがクライアントを目的地へ連れていく。

例えば、Webサーバを建ててアプリケーションサーバにバランシングするような構成はreverse-proxyになる。

ApacheTomcatを連携して流すような場合は、Apacheがreverse-proxyになる。

Web開発やってると、Proxyっていうとどっちかっていうとこっちを先にイメージしないかな。。どうなんだろ(自分はそうでした)