プロキシサーバとは?フォワードプロキシとリバースプロキシの違いを画像多めで解説!
この記事でわかること
・プロキシサーバーとは何か
・フォワードプロキシとは何か
・リバースプロキシとは何か
・フォワードプロキシとリバースプロキシの違い
・ロードバランサやCDNとの関係
・試験で迷ったときの見分け方
プロキシサーバとは?

プロキシサーバーは、簡単に言うと、
利用者やサーバーの代わりに通信を中継するサーバーのことだよ。

代わりに通信する?

そう。
プロキシは英語で proxy、つまり「代理」という意味なんだ。

代理人みたいな感じ?

そうそう。
たとえば、Webサイトを見たいとするよね。
普通なら、パソコンが直接Webサイトにアクセスする。
パソコン
↓
Webサイト
でも、プロキシサーバーを使うと、間にプロキシサーバーが入る。
パソコン
↓
プロキシサーバー
↓
Webサイト


つまり、プロキシサーバーが間に入って、代わりにWebサイトへアクセスするんだね。
身近な例:受付係で考える

会社の受付係で考えてみよう。

受付係?

たとえば、外部の人が社長に直接会いに来たとする。
でも、いきなり社長室に行かせるのは危ないよね。

たしかに。まず受付で確認するね。

そう。
受付係が、
誰が来たのか
何の用件か
通してよい相手か
危ない人ではないか
を確認してから、社長につなぐ。


なるほど。
プロキシサーバーも、通信の受付係みたいなもの?

そう。
通信を直接通すのではなく、間に入って確認したり、中継したりするんだ。
プロキシサーバーでできること

プロキシサーバーを使うと、何ができるの?

主にこんなことができるよ。

| できること | 内容 | 具体例 |
|---|---|---|
| 通信の中継 | 利用者やサーバーの代わりに通信する | クライアントとWebサーバーの間で通信を仲介 |
| アクセス制御 | 見てよいサイト、見てはいけないサイトを制御する | 社内PCからSNSサイトへのアクセスを制限 |
| ログ取得 | 誰がどこにアクセスしたか記録する | 社員のWebアクセス履歴を保存 |
| キャッシュ | よく見るページを一時保存して高速化する | 頻繁に閲覧されるWebページをプロキシ内に保存 |
| セキュリティ対策 | 危険な通信や不正アクセスを遮断する | マルウェア配布サイトへの接続をブロック |
| サーバー保護 | 外部から直接サーバーを見せないようにする | リバースプロキシ経由でWebサーバーを公開 |

ただ中継するだけじゃなくて、管理やセキュリティにも使われるんだね。

そう。
だから会社や学校、Webサービスの裏側などでよく使われる。
プロキシサーバーには種類がある

プロキシサーバーって、全部同じなの?

大きく分けると、よく出てくるのはこの2つだね。

| 種類 | 役割 | イメージ |
|---|---|---|
| フォワードプロキシ | 利用者(クライアント)の代わりに通信する | 利用者側の代理人 |
| リバースプロキシ | サーバーの代わりに通信する | サーバー側の代理人 |

利用者側の代理と、サーバー側の代理?

そう。
この違いがかなり大事。
迷ったときは、「誰の代理をしているか」で考えると分かりやすいよ。
利用者の代わりに外へ行くならフォワードプロキシ。
サーバーの代わりに外からのアクセスを受けるならリバースプロキシ。
フォワードプロキシとは?

フォワードプロキシは、
利用者の代わりにインターネットへアクセスするプロキシだよ。

利用者の代わり?

たとえば、会社の社員がWebサイトを見ようとする。
そのとき、社員のパソコンが直接インターネットに出るのではなく、会社のプロキシサーバーを通る。
社員のPC
↓
フォワードプロキシ
↓
インターネット上のWebサイト


社員側に近い場所にあるプロキシなんだね。

そう。
だから、フォワードプロキシは 利用者側の代理 と考えると分かりやすい。
フォワードプロキシの目的

フォワードプロキシは何のために使うの?

会社や学校でよくある目的はこんな感じ。

| 目的 | 内容 |
|---|---|
| アクセス制限 | 業務に関係ないサイトや危険なサイトへのアクセスを制御する |
| ログ管理 | 利用者のWebアクセス履歴を記録する |
| セキュリティ対策 | 不正サイトやマルウェアへのアクセスを防止する |
| キャッシュ | 頻繁に利用するページを保存し、通信を高速化する |
| 匿名性の確保 | 利用者の端末情報を外部から見えにくくする |

会社で「このサイトは見られません」って出るやつ、プロキシが関係してることもあるの?

あるね。
会社のフォワードプロキシが、アクセス先をチェックして止めている場合があるよ。
フォワードプロキシの例

たとえば会社で、社員が動画サイトにアクセスしようとしたとする。
社員:
動画サイトを見たい
フォワードプロキシ:
このサイトは業務に関係ないのでブロックします

社員の代わりに外へ出るけど、同時にチェックもしてるんだ。

そう。
フォワードプロキシは、会社のネットワークを守ったり、利用ルールを守らせたりするために使われることが多い。
リバースプロキシとは?

じゃあ、リバースプロキシは?

リバースプロキシは、
Webサーバーの前に立って、サーバーの代わりに外部からのアクセスを受けるプロキシだよ。

今度はサーバー側の代理?

そう。
利用者から見ると、直接Webサーバーにアクセスしているように見える。
でも実際には、まずリバースプロキシが受け取って、その後ろにあるWebサーバーへ振り分ける。
利用者
↓
リバースプロキシ
↓
Webサーバー


サーバーの前にいる門番みたいな感じ?

まさにそんな感じだね。
リバースプロキシは、サーバーを守る門番・受付係みたいな役割をする。
リバースプロキシの目的

リバースプロキシは何のために使うの?

主な目的はこんな感じだよ。

| 目的 | 内容 | 具体例 |
|---|---|---|
| サーバー保護 | 本物のWebサーバーを直接外部に見せない | リバースプロキシを入口にしてWebサーバーを隠す |
| 負荷分散 | 複数のWebサーバーへアクセスを振り分ける | WebサーバーA・B・Cにアクセスを分散 |
| SSL/TLS終端 | HTTPS通信の暗号化・復号処理を担当する | リバースプロキシでHTTPSを処理する |
| キャッシュ | よく使うコンテンツを保存して高速化する | 画像やCSSを一時保存して表示を速くする |
| セキュリティ対策 | 不審なアクセスを遮断する | 攻撃らしいリクエストをブロックする |
| URLや経路の整理 | アクセス先に応じて裏側のサーバーを切り替える | /api はAPIサーバーへ、/images は画像サーバーへ振り分ける |

リバースプロキシは、Webサービスを提供する側で使うんだね。

そう。
フォワードプロキシは利用者側。
リバースプロキシはサービス提供側。
ここが大きな違いだね。
リバースプロキシの例

たとえば、人気のショッピングサイトを考えよう。
利用者が大量にアクセスすると、1台のWebサーバーだけでは大変だよね。

アクセスが集中して落ちそう。

そこで、リバースプロキシが前に立って、複数のWebサーバーにアクセスを振り分ける。


リバースプロキシが交通整理しているんだね。

これにより、特定のサーバーに負荷が集中しにくくなるんだよ。
フォワードプロキシとリバースプロキシの違い

フォワードプロキシとリバースプロキシの違いを整理してみよう。

| 比較項目 | フォワードプロキシ | リバースプロキシ |
|---|---|---|
| 代理する対象 | 利用者側 | サーバー側 |
| 主な利用者 | 会社・学校・個人利用者など | Webサービス提供者 |
| 置かれる場所 | 利用者とインターネットの間 | インターネットとWebサーバーの間 |
| 主な目的 | アクセス制御、ログ管理、匿名化、キャッシュ | 負荷分散、サーバー保護、SSL/TLS終端、キャッシュ |
| 例え | 社員の代わりに外へ問い合わせる受付 | Webサーバーの前に立つ門番 |
| 見え方 | Webサイトからはプロキシがアクセスしているように見える | 利用者からはリバースプロキシがWebサーバーに見える |

誰の代理なのかを見ると分かりやすいね。

そうだね、わかりやすいのは
フォワードプロキシ:利用者の代理
リバースプロキシ:サーバーの代理
ってところだね。
たとえ話で違いを整理

最初にやった、会社の受付がプロキシサーバってやつ、フォワードプロキシとリバースプロキシでやるとどうなる?

フォワードプロキシから例えてみよう。
フォワードプロキシ:社員側の代理

社員が外部の取引先に問い合わせたいとする。
でも社員が直接連絡するのではなく、会社の窓口担当が代わりに問い合わせる。
社員
↓
会社の窓口担当
↓
外部の取引先
この窓口担当がフォワードプロキシ。


社員側の代理だね。
リバースプロキシ:会社側の受付

逆に、外部の人が会社に問い合わせてきたとする。
そのとき、いきなり担当部署に直通ではなく、まず受付が受ける。
外部の人
↓
会社の受付
↓
担当部署
この受付がリバースプロキシ。


なるほど。最初の受付係の例は、どちらかというとリバースプロキシ寄りだったんだね。

そうだね。外から来る人を会社側で受ける例だから、リバースプロキシに近いね。
フォワードプロキシの場合は、社員の代わりに外へ問い合わせる窓口担当をイメージすると分かりやすいよ。
プロキシサーバーとキャッシュ

プロキシサーバーってキャッシュもするって言ってたけど、どういうこと?

キャッシュは、一度取得したデータを一時的に保存しておくことだよ。

同じページを何度も取りに行かなくていいってこと?

そう。
たとえば、多くの社員が同じ社内資料ページを見るなら、プロキシがその内容を一時保存しておく。
1回目:Webサイトから取得して保存
2回目:保存済みのデータを返す

通信が速くなったり、外への通信量が減ったりするんだね。

そう。
フォワードプロキシでもリバースプロキシでも、キャッシュ機能が使われることがあるんだ。
プロキシサーバーとセキュリティ

プロキシサーバーはセキュリティにも関係するの?

かなり関係するよ。
フォワードプロキシのセキュリティ

- 危険なサイトへのアクセスを止める
- 社内からのアクセスを記録する
- 業務に不要なサイトを制限する
リバースプロキシのセキュリティ

- Webサーバーを直接外部に見せない
- 不審なアクセスを遮断する
- WAFと連携して攻撃を防ぐ

フォワードは利用者側の通信を守る。
リバースはサーバー側を守る。
そう考えると分かりやすいね。
リバースプロキシとロードバランサの関係

リバースプロキシとロードバランサって同じなの?
ロードバランサーも振り分けを行うよね。

完全に同じではないけど、役割が重なることがあるよ。

重なる?

ロードバランサは、アクセスを複数のサーバーに振り分ける装置や仕組みのことだよね。
リバースプロキシも設定によってはこの負荷分散を行える。

じゃあ、リバースプロキシがロードバランサの役割をすることもあるんだね。

そう。
ただし、ロードバランサは負荷分散が主目的。
リバースプロキシは、サーバーの前に立って中継・保護・キャッシュ・SSL終端なども行う。
重なる部分はあるけど、完全に同じ意味ではないよ。


負荷分散がメインかそうでないかって感じだね。

その理解でOK。
細かいこと言うと、最新のロードバランサーは多機能だから、WAF機能とか、TLS終端機能があったりするよ。
リバースプロキシとCDNの関係

CDNも振り分けしているイメージだけど関係ある?

似ている部分はあるね。
CDNは、世界中や各地域にあるサーバーにコンテンツを配置して、ユーザーに近い場所から配信する仕組みだったね。

画像とか動画を速く表示するんだよね。

そう。
CDNも、利用者と本来のサーバーの間に入って、キャッシュしたコンテンツを返すことがある。
その意味では、リバースプロキシ的な動きをすることがある。

でもCDNは配信高速化が主目的なんだね。

リバースプロキシはサーバー前面の中継・保護・振り分け。
CDNはコンテンツ配信の高速化や負荷軽減が主目的、と考えるといいよ。

プロキシサーバーの注意点

プロキシサーバーを使うときの注意点はこんな感じだよ。

| 注意点 | 内容 |
|---|---|
| 設定ミスに注意 | 通信できなくなったり、意図しない公開につながる |
| ログ管理に注意 | 利用者のアクセス情報を扱うため、適切な管理が必要 |
| キャッシュの古さ | 古い情報を返してしまう場合がある |
| 単一障害点 | プロキシが止まると、通信全体に影響することがある |
| セキュリティ設定 | 誰でも使えるプロキシにすると、悪用される可能性がある |

便利だけど、設定を間違えると危ないんだね。

そう。
特に外部から誰でも使えるプロキシになってしまうと、悪用される危険があるよ。
よくある誤解
誤解1:プロキシサーバーは全部匿名化のため

プロキシって、匿名化のために使うものじゃないの?

匿名化に使われることもあるけど、それだけじゃないよ。
企業ではアクセス制御やログ管理、Webサービスでは負荷分散やサーバー保護などにも使われる。
誤解2:フォワードプロキシとリバースプロキシは同じ

中継する点は同じ。
でも、誰の代理をするかが違うよ。
フォワードプロキシ:利用者の代理
リバースプロキシ:サーバーの代理
誤解3:リバースプロキシを置けば必ず安全

安全性は上げられるけど、それだけで完璧ではないよ。
設定ミスがあれば危ないし、アプリ側の脆弱性対策も必要。
WAF、認証、アクセス制御、ログ監視などと組み合わせることが大事。
試験で迷ったときの判断ポイント

試験で出たら、どう見分ければいい?

このキーワードを見るといいよ。
| キーワード | 関係するもの |
|---|---|
| 利用者の代理 | フォワードプロキシ |
| 社内から外部Webサイトへ | フォワードプロキシ |
| アクセス制限・ログ管理 | フォワードプロキシ |
| サーバーの代理 | リバースプロキシ |
| 外部からWebサーバーへ | リバースプロキシ |
| 負荷分散・SSL/TLS終端・サーバー保護 | リバースプロキシ |

どっちの代理かを見ればいいんだったね。

そう。
迷ったらまず、
利用者側? サーバー側?
を見るといいよ。
まとめ

プロキシサーバーとは、
通信の間に入って、利用者やサーバーの代わりにやり取りするサーバーのことだよ。
| 種類 | 一言でいうと | 主な目的 |
|---|---|---|
| フォワードプロキシ | 利用者側の代理 | アクセス制御、ログ管理、匿名化、キャッシュ |
| リバースプロキシ | サーバー側の代理 | サーバー保護、負荷分散、SSL/TLS終端、キャッシュ |

フォワードプロキシは利用者の前にいて、リバースプロキシはサーバーの前にいるんだね。

そのとおり
初心者向けに一言でまとめるなら、
プロキシサーバーは通信の代理人。フォワードは利用者の代理、リバースはサーバーの代理。
だね。

