Squid (ソフトウェア)
開発元 | squid-cache.org |
---|---|
初版 | 1996年7月 |
最新版 | |
最新評価版 |
7[2]
/ 2023年2月21日 |
リポジトリ | https://github.com/squid-cache/squid |
プログラミング 言語 | C++ |
プラットフォーム | クロスプラットフォーム |
対応言語 | 41言語 [3] |
サポート状況 | 開発中 |
種別 | プロキシ |
ライセンス | GPL |
公式サイト |
www |
Squid(スクウィッド)はプロキシ (Proxy) サーバ、ウェブキャッシュサーバなどに利用されるフリーソフトウェア。GPLでライセンスされている。 Squidの用途は、重複リクエストに対したキャッシュ応答によるウェブサーバの高速化や、ネットワーク資源を共有する人々が行うWorld Wide WebやDNSなどの様々なネットワーククエリのキャッシュなど、多岐にわたる。元来はUnix系のコンピュータで動作させる目的で設計されている。
Squidは長く開発が続けられてきた[4]。多様なプロトコルをサポートしているが、主にHTTPとFTPで利用される。 TLS/SSL、HTTPSなどのセキュリティで保護された通信のサポートも行われている[5]。
当初はC言語で書かれていたが、バージョン3以降では多くのソースがC++で書かれたものに置き換えられている。
ウェブプロキシ
[編集]キャッシングは、リクエストされたWebページやWebページ上の画像などインターネット上の様々な情報をクライアント側から見てネットワーク上の近傍にあるコンピュータに貯蔵しておく技術である。ウェブブラウザはSquidをHTTPのプロキシサーバとして利用し、ネットワーク帯域を節約するとともに、目的のページに高速にアクセスすることができる。 これはインターネットサービスプロバイダが加入利用者のインターネットアクセスを高速化するのに、あるいはLAN内でインターネット接続を共有するのに有効な手法である。プロキシ(実質的なクライアントの代理としてクライアントとして目的の情報にアクセスする)でもあることから、匿名性や安全性も提供するはたらきを持っている。
プロキシサーバの利用は、ブラウザ等のクライアントのソフトウェアで利用したいプロキシサーバの指定を明示的に行う方法か、もしくは透過プロキシと呼ばれる特に設定を必要としない方法によって行われる。明示的な設定を行う方法はインターネットサービスプロバイダの利用者等に、透過プロキシは企業内のLANの設定等でしばしば用いられる。
Squidは、クライアントが生成するヘッダを書き換えるなどの方法によって、匿名による接続の機能も提供する。詳細は、Squidのドキュメンテーションのheader_access
およびheader_replace
の項に記載されている。
リバースプロキシ(Reverse Proxy)
[編集]前項で述べたような、特定少数のクライアントのために不特定多数のサーバのキャッシュを提供する形態のプロキシが、伝統的な利用法である。
もう一方の利用法は、リバースプロキシ[6]あるいはウェブサーバアクセラレーションと呼ばれる(httpd_accel_host
の設定を用いる)。
この利用法では、不特定多数のクライアントに対して特定少数のサーバのキャッシュを提供する。
実際にコンテンツを持っているウェブサーバをslow.example.com、Squidによるリバースプロキシをwww.example.comとする。 www.example.com上のあるコンテンツに対するリクエストが最初に行われた際に、実際のコンテンツはslow.example.comから取り出されるが、一定期間中(期間は設定により異なる)、2回目以降のアクセスにはこの際に取り出されたコピーがリバースプロキシから送出されるようになる。 結果としてslow.example.comへのアクセス数を低く抑えることができ、slow.example.comの負荷やネットワークの帯域を節約できる。
一つのSquidサーバを通常のプロキシとリバースプロキシ両方の機能で稼働させることも可能である。
移植性
[編集]Squidは以下のオペレーティングシステム上で動作可能である。
- Linux
- FreeBSD
- OpenBSD
- NetBSD
- BSDI
- macOS
- OSF and Digital Unix
- IRIX
- SunOS/Solaris
- NeXTStep
- SCO Unix
- AIX
- HP-UX
- Windows
ウィキペディアのupload.wikimedia.orgでも使用されていた[7]。
脚注
[編集]- ^ "squid-6.11"; 閲覧日: 2024年9月19日; 出版日: 2024年9月15日.
- ^ “squid : Optimising Web Delivery”. 2023年8月20日閲覧。
- ^ 50音順にアゼルバイジャン語、アフリカーンス語、アラビア語、アルメニア語、イタリア語、インドネシア語、ウクライナ語、ウズベク語、英語、エストニア語、オック語、オランダ語、カタルーニャ語、ギリシア語、グルジア語、スペイン語、スロバキア語、スロベニア語、セルビア語(キリル文字、ラテン文字)、タイ語、チェコ語、中国語(簡体字、繁体字)、朝鮮語、デンマーク語、ドイツ語、トルコ語、日本語、ハンガリー語、フィンランド語、フランス語、ブルガリア語、ベトナム語、ポーランド語、ポルトガル語、マレー語、ヘブライ語、ペルシア語、ラトビア語、リトアニア語、ルーマニア語、ロシア語(3.5.3版配布物件のerrorsディレクトリーによる)。
- ^ 1990年代前期に開発されたHarvest Cache Daemonに基づいている、とする記述が見える。“Intro”. 2012年12月21日閲覧。
- ^ SquidのFAQページより(英語)
- ^ Visolve Squid Team. “Squid Reverse Proxy”. 2009年7月4日閲覧。
- ^ “upload.wikimedia.orgのトップ・ページ”. 2012年10月4日閲覧。“sq86.wikimedia.orgのトップ・ページ”. 2012年10月4日閲覧。
外部リンク
[編集]Information
[編集]- 公式ウェブサイト
- Squid + PF - SquidとPFを用いた透過プロキシ
- Logfile Analysis - ログファイル解析スクリプトの一覧
- Squid Support: マニュアル、設定のヒント集など
- Squid cache Configuration: マニュアル、設定のヒント集など
アドオン
[編集]- Squidguard - フィルタリングのためのプラグイン
- E2guardian - フィルタリング(Smart filtering)のためのプラグイン
- Calamaris - ログファイルの解析ツール
- Squeezer2 - ログファイルの解析ツール
- SARG Squid Analysis Report Generator - ログファイルの解析ツール
キャッシュ動作の確認が可能なWebページ
[編集]- web-caching.com: check page cacheability
- analyze.forret.com: analyze HTTP headers and compare to Squid policy