ローカルにsquidをインストールして使用する
動作確認のためにローカルにsquidをインストールして動かそうとして少しはまってしまいました。
squid.confに
acl our_networks src 192.168.1.0/24 http_access allow our_networks
このように自分の端末のIPアドレスからのアクセス許可を設定したのですが
ERROR
The requested URL could not be retrieved
- -
While trying to retrieve the URL: http://www.yahoo.co.jp/
The following error was encountered:
Access Denied.
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.Your cache administrator is webmaster.
- -
アクセス許可が無いと言ってエラーとなりました。
squidには詳しく無くてどのような種類のアクセス制限があって何が引っかかっているのか良くわかりませんでした。
squidのaccess.logを見てみたところ以下のようになっていました。
1192260684.498 80 127.0.0.1 TCP_DENIED/403 1492 CONNECT www.yahoo.co.jp:80 - NONE/- text/html
ここでクライアントのIPアドレスが127.0.0.1とlocalhostになっていました。
気になっていたのですがsquid.confに
acl localhost src 127.0.0.1/255.255.255.255 .... .... http_access allow manager localhost
このような記述があって、これでlocalhostからのアクセスを許可されるのだと思っていました。
それで接続先のwww.yahoo.co.jpに対する接続の許可をしなければいけないかもしれないなどと思っていろいろとインターネットを調べていたのですが原因がよくわかりませんでした。
そこでsquid.confに
http_access allow localhost
の一行を追加してsquidを再起動したところ動作しました。
わかってしまえば当たり前のことですが、インターネットをいろいろと調べても気がつかなかったので報告しておきます。
ご参考まで。