Linux

プロキシサーバーとは?現役エンジニアが仕組みを詳しく解説!【PCの代理でWebにアクセス】

こんにちは、インフラエンジニアのryuです。

今回はプロキシサーバとは何かを初心者のために仕組みを詳しく解説していきます。proxyサーバーとは、PCの替わりにWebサーバーにアクセスするサーバーのことです。プロキシサーバーの仕組みを分かりやすく解説していきます。

プロキシサーバーとは?仕組みを解説!

「プロキシサーバーって何?」

プロキシサーバーとは、PCの替わりにWebサーバーにアクセスしてくれるサーバーのことだよ!

今回の記事では、プロキシサーバーがどのようなサーバーなのか分からない方のために、プロキシサーバーの仕組みを詳しく解説します!

まずプロキシサーバーとは、PCの替わりにWebサーバーにアクセスするサーバーのことです。

プロキシサーバーについて理解するために、今回はこちらのポイントについて、解説していきます!

  • プロキシサーバーとはどのようなもの?
  • なぜプロキシサーバーが必要?
  • プロキシサーバーの構築方法

初心者の方でも分るように、Webサーバーにアクセスする仕組みから解説します!では、早速やっていきましょう!

プロキシサーバーとは代理のサーバー

プロキシサーバーとは、先ほども言った通り、

PCの替わりにWebサーバーにアクセスするサーバーのことです。

何言っているのかサッパリ分からない!

何を言っているのかサッパリ分からない!という人のために、まず、Webサイトへのアクセスの流れを理解しましょう!

普段からGoogleのサイトにアクセスしていますよね?その流れです!

Webサイトへのアクセスの流れ

プロキシサーバーの動作を理解するためには、Webサイトへのアクセスの流れを理解する必要があります。

なぜなら、プロキシサーバーはWebサーバーへのアクセスを代理で実施するサーバーだからです。

まず、普段皆さんがGoogleのサイトを見るとき、ブラウザを立ち上げたら、勝手にGoogleのサイトにアクセスされていますよね?

それは、ブラウザの上の部分でURLを入力して、GoogleのWebサーバーにアクセスしているからです!

Webサイトへのアクセスの流れ

この流れをイメージすると以下の画像のようになります。

webサイトへのアクセスの流れ

ここで理解してほしいのは、Webページを見るときはPCからWebサーバーにアクセスをしているということです。

PCの替わりにWebにアクセスするプロキシサーバー

先ほどはプロキシサーバーが無い状態でWebにアクセスした流れを説明しました。

では、プロキシサーバーがあるとどうなるのでしょうか?

プロキシサーバーは、PCの替わりにWebサーバーにアクセスします。

proxy(プロキシ)は、代理人という意味があります。

Webサーバーへのアクセスの流れは↓の図のようになります。

プロキシサーバーの動作説明

Webサーバーからすると、アクセスしているのは、プロキシサーバーのため、アクセスログには、プロキシサーバーのIPアドレスが表示されます。

この図を見た人は、プロキシサーバーは替わりにアクセスするだけで、何の意味があるの?と思うかもしれません。そこで、プロキシサーバーの役割について詳しく解説します。

なぜプロキシサーバーが必要?

なんでプロキシサーバーが必要なの?PCの代理でアクセスする必要はあるの?

プロキシサーバーを使う主な理由は以下の3つです。

  • キャッシュによるWebの高速化
  • 有害サイトのブロック
  • Webサーバーの負荷分散

なぜプロキシサーバーが必要なのかというと、プロキシサーバーには、以下の役割があるからです。

  • キャッシュによるアクセスの高速化
  • 有害サイトへのブロック
  • Webサーバーへの負荷分散

では、それぞれの内容について詳しく解説します!

分かりやすくイメージしてもらうために、100人くらいの規模の会社を想定します。100人がPCを使用しています。100人がそれぞれ、インターネットでWebサイトを閲覧している状況を想像してください。

役割①.キャッシュによるアクセスの高速化

まず、役割①として、キャッシュによるアクセスの高速化があります。

プロキシサーバーを使用すると、Webサイトへのアクセスが速くなります!

その理由は、一度見たWebページの情報はプロキシサーバーにキャッシュ(保存)しておくからです。何度もWebサーバーにアクセスするような、サイトはプロキシサーバーで情報を保存し、プロキシサーバーがPCにWebページを返すようになります。

プロキシでキャッシュすることにより、同じWebサーバーに何度も問い合わせをする必要が無くなります。Webサーバーに問い合わせる時間も無くなるため、webページの閲覧も高速化することができます。

役割②.有害サイトへのブロック

役割②は有害サイトへのブロックです。プロキシサーバーを使用することにより、URLでフィルタリングすることができます。

社内から様々なWebサーバーへアクセスすると、危険なWebページに誘導される恐れがあり、社内へウィルスを侵入させることになります。

そこで、社内からWebサーバーへのアクセスをプロキシサーバーに集約し、アクセス先をチェックしてからアクセスするようにします。そうすることで、セキュリティを高めることができます。

プロキシサーバーで有害サイトをブロックする

社内からWebサーバーへのアクセスをプロキシサーバーに集約するということは、1人1人のWebアクセスを監視するということです。おそらく、会社のPCにはプロキシサーバーがあるので、webサーバーへのアクセスは監視されているということをお忘れなく。

役割③.Webサーバーへの負荷分散

その他の役割としてWebサーバーへの負荷分散があります。

ここは、おまけなので、興味ある人は読んでください。

プロキシサーバーをWebサーバーの前に置き負荷を分散させることで、Webサーバーのアクセス集中を防ぐことができます。

プロキシサーバーで負荷分散をさせることは可能ですが、一般的には、ロードバランサーを使用します。プロキシサーバーでもロードバランサーと同じ動作ができるんだーと思っておきましょう。

参考:プロキシサーバーの構築方法

最後にプロキシサーバーの構築方法を紹介します。

プロキシサーバーはLinuxの”squid”(スクウィッド)を使用すると構築できます。

Squid(スクウィッド)はプロキシ (Proxy) サーバ、ウェブキャッシュサーバなどに利用されるフリーソフトウェアGPLでライセンスされている。 Squidの用途は、重複リクエストに対したキャッシュ応答によるウェブサーバの高速化や、ネットワーク資源を共有する人々が行うWorld Wide WebDNSなどの様々なネットワーククエリのキャッシュなど、多岐にわたる。元来はUnix系のコンピュータで動作させる目的で設計されている。

(wikipediaより)

squidとは、OSS(オープンソース)の一種で無料で構築することができます。

squidの詳しい構築方法は、下記サイトで紹介しているので、詳しくはこちらをご覧ください!

プロキシサーバーとは?まとめ

今回は、プロキシサーバとは何かを初心者のために仕組みを詳しく解説しました。

今回の記事の内容をおさらいします。

まずプロキシサーバーとは、PCの替わりにWebサーバーにアクセスするサーバーのことです。

プロキシサーバーには、いろいろな役割がありました。

  • キャッシュによるアクセスの高速化
  • 有害サイトへのブロック
  • Webサーバーへの負荷分散

プロキシサーバーを構築するためには、Linuxでsquidをインストールする。

プロキシサーバーの仕組みは社内システムを構築するインフラエンジニアならば、理解しておくべき内容です。Linuxで自分で構築して理解を深めましょう!

以上で記事を終わります。ありがとうございました。

ABOUT ME
ryu
大手メーカのIT部門でインフラエンジニアやってます。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!