Linux (Ubuntu)で、Squid の cachemgr.cgi を設定する方法

Squid を設定できたら、次はその統計情報をみるための cachemgr.cgi の設定をしよう。

Ubuntu の場合は https://localhost/cgi-bin/cachemgr.cgi とか https://proxy.yourdomain.com/cgi-bin/cachemgr.cgi などの URL でアクセスできる。設定はちょっとトリッキーだった。セキュリティ的には localhost / 127.0.0.1 からしかアクセスさせないような設定が仕組んであるから、 Squid が動いているマシン以外から cachemgr.cgi にアクセスしようとしても

connect: (111) Connection refused

となってしまうのだ。なのでまず、

/etc/squid/squid.conf

の設定ファイルで、acl localnet src 192.168.0.0/24 からもアクセスさせたい場合、http_access allow manager localhost のある行のあたりを以下のように変える。 localhost と localnet はまぎらわしいので注意して欲しい。

acl localnet src 192.168.0.0/24 http_access allow manager localnet http_access deny manager

さて、cachemgr.cgi にアクセスするとユーザー名をパスワードを求められる。そのために、

/etc/squid/squid.conf

の cache_mgr の行のコメントをはずす。デフォルトの設定ファイルでは cache_mgr webmaster となっているのだけれど、ユーザー名を admin にしてみる。 cache_mgr admin

パスワードの方は cachemgr_passwd の行で、

cachemgr_passwd your_password all

とする。your_password のところに、好きなパスワードを設定する。

さて、Proxy サーバのポートを http_port 8080 としたなら、

/etc/squid/cachemgr.conf

の方も書き換える必要がある。というか、Proxy のポートを 80 以外に設定したら書き換えは必須である。内容は、以下の通り。

localhost:8080 proxy.yourdomain.com:8080