« | »

2009年3月10日

squidですべての要求を上位プロキシ経由で転送するconf

インターネットにダイレクトアクセスできない場所から、どうしてもインターネットに出る必要があったので、別の場所にsquidでプロキシサーバーを作って、そこを経由させてインターネットに出るようにしたのだが、初めてsquidを使ったので、イマイチ動作がよく分らずconfの書き方にちょっと苦労した。
画像やhtml単体は落ちてくるのに、その他のところはタイムアウトしてしまう。
ログを見ていると、hogehoge.txtやhogehoge.jpgはsquidが取りに行って渡しているのに、「?」や「/」で終わったりするURLはダイレクトアクセスさせている。
最初はMIMEタイプの問題かと思ったのだが、どうもそうではないらしい。
基本的にsquidってのは、今回のように代理サーバーや中継サーバー用途というよりは、キャッシュサーバーを想定して作られているので、特に明示的に指定せずにconfを書くと、静的コンテンツだけがsquid経由でクライアントに渡される仕様になっているようだ。
ということで、すべてのクライアント要求をsquid自身が取りに行き、かつ上位プロキシを経由する設定を書いてみる。


squidではない上位プロキシを指定し、クライアント192.168.1.0/24と192.168.2.1にのみ転送し、これらへの転送をすべてsquidが行う。(ダイレクトアクセスさせない)

acl 1net src 192.168.1.0/24 
acl host1 src 192.168.2.1 
http_access allow 1net
http_access allow host1
never_direct allow 1net
never_direct allow host1
http_access deny all
htcp_access deny all
#待ち受けポートは8080
http_port 8080
#上位プロキシ(proxyserver:8080)を指定する
cache_peer proxyserver parent 8080 0 proxy-only

Trackback URL

Comment & Trackback

No comments.

Comment feed

Comment





XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>