Squidの概要
Squid(スクウィッド)とは、HTTP/1.0と、(ほぼ全ての)HTTP/1.1 の仕様を満たし、HTTP、HTTPS、FTPなどをサポートするC++言語で書かれたオープンソースのWebプロキシサーバです。
Squidは1994年にコロラド大学ボールダー校のデュエイン・ウェッセルズ氏らにより開発された Harvest Cache Daemonから派生した2つのフォークの内の1つで、Squidのイニシャルバージョンである、Squid1.0は、1996年にリリースされました。現在は、オープンソースのプロジェクトとして有志による開発が続けられています。
Squidは、複数のWebサーバの前段に配置し、クライアントからの重複したリクエストをキャッシュし、Webサーバの代わりにレスポンスを行うことでサーバの負荷を分散させ、クライアントの要求に対して高速で安定したパフォーマンスを提供することができます。
また、ネットワーク内のクライアントからのアクセスを、Squidが中継することによって、アクセス制御や、ロギング環境を提供します。
Squidの特徴
Squidには用途に合わせて、次にあげる3つのモードが用意されています。
- フォワーディングプロキシ(explicit forward proxy)
フォワーディングプロキシは、多くの場合、クライアントと同一のネットワーク上に配置され、クライアントが外部のWebサーバへアクセスする際には、プロキシであるSquidにアクセスするようにします。そうすることで、Squidがクライアントに変わってWebページにアクセスし、さらにアクセスしたWebページをSquidが自身のサーバ内にキャッシュします。これにより同一ネットワーク内の他のクライアントがSquid経由で同じWebページにアクセスした場合に、SquidがキャッシュしたWebページの情報をクライアントに返します。
フォワーディングプロキシ導入のメリット
・Webコンテンツ取得の速度向上
・ネットワーク帯域の節約
・内部ネットワークからのアクセス先を制限することが可能 - リバースプロキシ(Acceleratorモード)
リバースプロキシで動作するSquidは、(複数の)Webサーバの前段に配置されクライアントからのリクエストをSquidが受けます。その後、SquidはWebサーバにアクセスしてクライアントが要求したページを取得して、自身のサーバ内にキャッシュします。以降、Squidがキャッシュ済みのページに対してのクライアントのリクエストには、Squidはキャッシュ済みのコンテンツを返し、Webサーバへはアクセスしません。
リバースプロキシ導入のメリット
・Webサーバの負担分散 ・条件によるアクセスサーバの振り分け ・SSL/TLSのオフロード
- 透過プロキシモード(transparent forward proxy)
透過プロキシはインターセプトプロキシとも呼ばれ、クライアント側でブラウザ設定を変更する必要はありません。通常の運用方法は、ネットワークの出口に設置されたルータにより、特定のポートへ向けたアクセスのみを透過プロキシへ振り分け、プロキシサーバがWebページへアクセスします。
透過プロキシ導入のメリット
・Webコンテンツ取得の速度向上
・クライアント側の設定が不要
・内部ネットワークからのアクセス先を制限することが可能
Squidの動作環境
Squidは下記のOS向けにコンパイル済みのバイナリが提供されています。
- 主要なLinuxディストーション
- 主要なBSDディストーション
- いくつかのUnix
- Windows
また、ソースから独自にコンパイルすることも可能です。Squidをコンパイルするには、C++コンパイラが必要になります。
Squidと同様の機能を提供する製品
WebプロキシとしてVarnish Cache、PoundなどがSquidと類似する機能を提供しています。
Squidのライセンス
Squidは、GPL(※)ライセンスの元にリリースされているソフトウェアで、ソフトウェアのコピーや配布、ソースコードの公開を原則として、ソースコードの自由な改変も認められています。
※GNU General Public Licenseの略。
Squidの参考情報
Squid公式サイト
http://www.squid-cache.org/
Squidダウンロードページ
http://www.squid-cache.org/Versions/
Squid wiki
https://wiki.squid-cache.org/FrontPage
Squidのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。詳細は下記ページをご確認ください。
●オープンソース年間サポートサービス