web-dev-qa-db-ja.com

特定のサイトでSquidをバイパスする最良の方法は?

私たちはSquid透過プロキシを実行しています。それは素晴らしいと思います。問題は、非常にランダムなサイトがイカを嫌うように見えるときです。 Cox.comは特にその1つです。現在、IPtablesルールを設定して、リクエストをそのIPに転送し、それをSquidキャッシュに送信しないようにしています。

Squidで設定できる「悪い」サイトのACLがあれば、クライアントがこれらのサイトの1つを要求した場合に直接アクセスできるようになり、squidプロキシを完全に回避できると便利です。それは可能ですか?それともiptablesが最善の解決策ですか?

4
Jason Taylor

Squidを完全に回避したい場合は、透過プロキシiptablesリダイレクトルールに例外を追加する方法があります。

ただし、squidでalways_directディレクティブのACLを作成できます。 squid docs から:

acl local-servers dstdomain my.domain.net
always_direct allow local-servers

すべてのケースで機能するわけではなく、プロキシを完全に回避するだけで十分な場合もあります。

編集: shorewall のようなものを使用する場合、リダイレクトルールの例外を管理しやすくするlistsを作成できますが、やり過ぎかもしれません。

4
coredump

always_direct 構成ディレクティブが適切な選択になるとは思いません。親またはピアキャッシュに接続しないように指定するだけで、Webサイト自体がキャッシュされるかどうかには影響しません。

特定のサーバーをキャッシュしないようにSquidを設定するにはどうすればよいですか?cacheディレクティブとACL

4
Sean Champ

Squid.confで「キャッシュ」タグを使用する

/ etc/squid/acl-dstdomain-localnetsites.cfg

#Squid ACL:localnetsites 
#ACLタイプ:dstdomain 
#ACL情報:ローカルネットワーク内の宛先サイトのリスト(内部ネットワーク内の企業サイト)
#
 .sub.local1.com 
。sub2.local2.com 
。local3.com

/ etc/squid/squid.conf

... 
 ###すべてのローカルサイトのACL 
#
 acl localnetsites dstdomain "/etc/squid/acl-dstdomain-localnetsites.cfg"
。 .. 
 ###アクセスルール-ローカルサイトをキャッシュしない
#
キャッシュ拒否localnetsites

職場では、関係するフロー(アプリケーション)と場所について、さまざまなプロキシを使用しています。

プロキシごとの構成を行う代わりに、自動プロキシ構成スクリプトの助けを借りて 正しいプロキシを見つけるためにすべてのジョブを実行するのはユーザーのWebブラウザーです

それは非常にうまく機能しますが、それを達成するために透過的なリダイレクトを確認しなければならない場合があります。

0
petrus