よくある質問・用語集

  • もっと調べる
  • どうやって使う?

プロキシとは

プロキシとは、クライアントとサーバの間に中継サーバとして配置するサーバのことである。

プロキシの原理

プロキシは、クライアントから見た場合にはサーバのように振る舞い、サーバから見た場合には、クライアントのように振舞う中継サーバである。クライアントアプリケーションは、プロキシへ通信を行い、プロキシはそのリクエストを受信する。受信したリクエストを本来送られるべきサーバへ転送するかのように送信する。サーバは、リクエストを送信してきたプロキシへ応答を返す。プロキシは応答に対応したクライアントに対して、応答を送信する。

プロキシの背景

まだ、NAT(ネットワークアドレス変換)の実装がなかった頃に、LANとインターネットのゲートウェイにあたる部分にプロキシを設置して利用した。これによって、インターネットとLANのネットワークの分離をし、LANを守りつつ、LAN側からはインターネットのサービスをプロキシ経由で利用することができた。

当時のプロキシ利用の代表的なものに、HTTP、FTP、TELNETが挙げられる。

セキュリティ面だけでなく、ネットワーク図線の有効利用のためにもプロキシが利用される。インターネットが普及し始めた頃、ネットワーク回線が非常に遅く、WWWのようなコンテンツを毎回インターネットへアクセスに行くのは非常に無駄が多く、回線の負荷も高くなっていた。そこで、プロキシサーバを用意して、プロキシサーバが取得したデータをキャッシュとして保存した。2度目のアクセスからは、サーバへアクセスすることなくキャッシュデータを返すことで、回線に負荷をかけることなく処理することでクライアントへの応答を高速化した。 現在では、家庭の回線からのインターネットのバックボーンも高速化され、プロキシサーバのメリットがなくなってきたため、キャッシュとして利用することは少なくなっている。

プロキシの現在の利用方法

プロキシの利用として、クライアント側のアクセス先の検閲を目的として企業に導入される場合がある。また、業務上必要ないと思われるサイトへのアクセスを禁止したり、サービスプロバイダなどでは、子供に対しての有害サイトへのアクセスを禁止するといった用途に利用されている場合もある。

プロキシが中継するデータを参照することを利用して、データのウイルススキャンを行うアプリケーションもある。これは、HTTPプロキシだけではなく、POP3のプロキシの実装も存在する。

リバースプロキシ

一般的にプロキシといった場合は、LAN内のクライアントが不特定のサーバを利用するために設置するサーバだが、サーバ側に設置するプロキシも存在する。それをリバースプロキシと呼ぶ。リバースプロキシは、様々なクライアントからのリクエストを受け取り、管理している特定サーバへリクエストを転送する。 リバースプロキシの利用により、処理を負荷分散させたり、リクエスト毎に対応したサーバに転送することができる。

プロキシの実装

プロキシのソフトウェアの代表的なものにsquidがある。squidはオープンソースとして公開されており、Linuxの様々なディストリビューションで採用されている。squidは、HTTP,HTTPS以外に、FTPのプロキシとして利用可能なほか、リバースプロキシとしても利用できる。squidの特徴は、コンテンツキャッシュ機能だが、外部プログラムとの連携機能を持ち、コンテンツフィルタとして利用することができる。また、ICAPクライアント機能も有しており、ICAPサーバとして提供される機能を利用できる。

WWWサーバの代表であるapacheもプロキシ/リバースプロキシとして利用できる。apacheでは、利用したいプロキシ機能に対応したモジュールを組み込み、設定に加えることで利用できる。プロトコルとしては、HTTP,FTPが利用できる。また、リバースプロキシの付加機能として、ロードバランシング、SSLトンネリング機能などが利用できる。

リバースプロキシに特化した実装として、vanishがある。vanishは、オープンソースとして公開されている。vanishはリバースプロキシに特化するとともに、高速化に重点を置いたリバースプロキシである。設定の簡単さにも特徴がある。

負荷分散リバースプロキシの実装としては、Poundがある。Poundは、リクエストに対して負荷分散を行うサーバをリストに設定するだけで動作する。SSLアクセラレータのような設定も可能である。

Webサーバ兼リバースプロキシとしてnginxがある。nginxは、高性能なWebサーバ兼リバースプロキシサーバであるが、メール関連のリバースプロキシ機能も持つ。SMTP,POP,IMAPに加えて、STARTTLSやSSL/TLSをサポートしており、メールのほとんどの機能を利用することができる。

【カテゴリ】:ネットワーク  

  • もっと調べる
  • どうやって使う?

【Webセミナー】OSSのおすすめメーリングリストシステム紹介セミナー

日程: 10月23日(水)Webセミナー「BigBlueButton」を使用します。
内容: OSSで実現可能なメーリングリストシステムをご紹介します。
ご興味のあるかたはぜひご参加ください。

セミナー申込

関連用語

プロキシに関連するページ(事例など)

プロキシとは先頭へ