http proxyにBASIC認証を付けろというので付けてみた
設定。
proxy:~# vi /etc/squid3/squid.conf
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl password proxy_auth REQUIRED
http_access allow password
再起動。
proxy:~# /etc/init.d/squid3 restart Restarting Squid HTTP Proxy 3.0: squid3 Waiting.....................done. FATAL: authparam basic program /usr/lib/squid/ncsa_auth: (2) No such file or directory Squid Cache (Version 3.0.STABLE8): Terminated abnormally. CPU Usage: 0.032 seconds = 0.016 user + 0.016 sys Maximum Resident Size: 0 KB Page faults with physical i/o: 0 failed!
あれれ... squid3か。直す。
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
proxy:~# /etc/init.d/squid3 restart Restarting Squid HTTP Proxy 3.0: squid3.
passwdはパスワードファイル。中身はApache方式。
設定には、htpasswdコマンドが必要。
proxy:~# apt-get install apache2-utils
依存関係が多い。こんな小さな実行ファイルごときに、めんどくさいことだ。
mini-httpdあたりなら小さいのかな?
つか、yasusiiさめの作ったpythonのやつでもいいのかな。
パスワードファイルを作りユーザーを登録しておく。
proxy:~# htpasswd -c /etc/squid3/passwd guest New password: Re-type new password: Adding password for user guest proxy:~# cat /etc/squid3/passwd guest:r5aPdoLr3sZWo
ユーザー認証の確認。
proxy:~# /usr/lib/squid3/ncsa_auth /etc/squid3/passwd guest guest OK ^C
実行すると何も表示されないので、そこで登録したIDとパスワードを入れ、リターンすると判定結果が返る。
OKが出ているので問題ない。Ctrl+Cで強制終了する。
失敗だとこんな風。
proxy:~# /usr/lib/squid3/ncsa_auth /etc/squid3/passwd guest test ERR Wrong password
ブラウザからの接続テスト。
BASIC認証に失敗するとエラーになる。
ERROR
Cache Access Denied
BASIC認証に登録したユーザー名とパスワードを入れると成功した。
テストも問題なく完了。