Squid情報
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には用途に合わせて、次にあげる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は、高速で性能が安定したオープンソースのプロキシサーバとして、中小から大規模まで、さまざまな業種・システムで幅広く利用されています。
類似プロダクト
WebプロキシとしてVarnish Cache、PoundなどがSquidと類似する機能を提供しています。
動作環境
Squidは下記のOS向けにコンパイル済みのバイナリが提供されています。
- 主要なLinuxディストーション
- 主要なBSDディストーション
- いくつかのUnix
- Windows
また、ソースから独自にコンパイルすることも可能です。Squidをコンパイルするには、C++コンパイラが必要になります。
Squidのライセンス
Squidは、GPL(※)ライセンスの元にリリースされているソフトウェアで、ソフトウェアのコピーや配布、ソースコードの公開を原則として、ソースコードの自由な改変も認められています。
※GNU General Public Licenseの略。
製品ダウンロード
参考情報
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Nginx
エンジンエックス。Apache HTTP Serverに次ぐ利用率で人気急上昇中の高速・高性能Webサーバです。
-
Jetty
ジェティ。100%Javaで開発されたJava Servletコンテナ/Webサーバです。
-
サポート対象
Apache HTTP Server
アパッチエイチティーティーサーバ。世界中で最も人気の高いwebサーバソフトウェアの一つです。