【ふぉわーどぷろきし】

フォワードプロキシ とは?

最終更新:
💡 外へアクセスする人の、代理窓口

クライアントの代理として外部へのリクエストを中継するサーバー。アクセス制御やキャッシュなどに使われ、リバースプロキシとは代理する側が異なる。

📌 このページのポイント
プロキシ:誰の代理かを比べよう利用者側の代理:フォワード利用者フォワードサービスサービス側の代理:リバース利用者リバースサービス出口の代理と、入口の代理
上は利用者のリクエストを外へ中継し、下はサービス側の窓口で受け取る配置の例。矢印はリクエストの方向です。
ひよこ ひよこ
リバースプロキシとは、何が違うの?
ペンギン先生 ペンギン先生
誰の代理かが違うよ。フォワードプロキシは利用者側のリクエストを中継し、リバースプロキシはサービス側の窓口としてリクエストを受け取る。出口の代理と入口の代理、と考えると分かりやすいね。
ひよこ ひよこ
中継すると、何が便利なの?
ペンギン先生 ペンギン先生
アクセスを許可する条件を決めたり、保存した応答を再利用するキャッシュで通信を減らしたりできる。実際に使える機能や記録する情報は製品・構成・設定によるので、プロキシを置くだけで全てが実現するわけではないよ。
ひよこ ひよこ
外のサイトから、利用者は絶対に分からなくなる?
ペンギン先生 ペンギン先生
接続元がプロキシのIPアドレスに見える場合はあるよ。ただしForwardedなどのヘッダーで元のクライアント情報を伝える構成もある。ログイン情報などから分かることもあるので、中継だけで匿名になるとは考えないでね。
ひよこ ひよこ
HTTPSの中身も、必ず読めるの?
ペンギン先生 ペンギン先生
CONNECTでトンネルを作り、暗号化された通信を通す構成があるよ。この場合、中継するだけでHTTPSの内容を読めるわけではない。内容検査は別の構成や証明書の扱いが必要で、信頼できる管理者の案内を確認するんだ。
ひよこ ひよこ
ブラウザーで使えれば、開発ツールも使える?
ペンギン先生 ペンギン先生
ツールごとの設定が必要な場合があるよ。たとえばDockerではデーモンとCLIの設定が別で、Docker Desktopには専用の設定がある。HTTP_PROXYなどの環境変数に対応するかもツールによる。証明書エラーが出ても検証を無効にせず、設定を確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「フォワードプロキシ」って出てきたら「利用者の代わりに外部へアクセスする中継役」と思えばだいたいOK!
📖 おまけ:英語の意味
「Forward Proxy」 = 順方向プロキシ
💬 Forward(前方へ)Proxy(代理)。クライアントの代わりに外部にアクセスするよ

参考資料

← 用語集にもどる