トップページunix
981コメント319KB

Squid Web Proxy Cache 2

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/02/02(木) 05:35:20
Squid web proxy cache のスレ

本家: http://www.squid-cache.org/
0222名無しさん@お腹いっぱい。2006/12/14(木) 01:11:02
>>221
Squid ならプロクシサーバ兼キャッシュサーバだけど
>>214 が言うようなウィルスチェッカや URL フィルタだと
キャッシュしないのもあるでしょ。
0223名無しさん@お腹いっぱい。2006/12/14(木) 01:14:05
語義はこの辺。
http://yougo.ascii24.com/gh/11/001161.html
http://yougo.ascii24.com/gh/77/007779.html
0224名無しさん@お腹いっぱい。2006/12/14(木) 01:14:10
何か話がずれていっているような
0225名無しさん@お腹いっぱい。2006/12/14(木) 01:14:54
別にずれてないよ。
0226名無しさん@お腹いっぱい。2006/12/14(木) 01:15:33
Inktomiってかいてあたよ。古いな。
0227名無しさん@お腹いっぱい。2006/12/14(木) 01:19:07
教条的な人だな
0228名無しさん@お腹いっぱい。2006/12/14(木) 01:19:55
やたら細かく定義に拘泥する人っている
0229名無しさん@お腹いっぱい。2006/12/14(木) 01:22:44
NetCacheやSunJavaなどの商用キャッシュサーバとSquidのベンチマーク結果の値に
興味がある。だれかやっていない?
また、おれの乏しい知識だとSquidしか知らないのだが、もっと高速なオープン
ソース系のサーバがあるんだろうか?
0230名無しさん@お腹いっぱい。2006/12/14(木) 02:55:22
オープンソースではないと思う。なんだかんだで実績として
squidしか選択肢がない。もうちょっとしたらmod_proxyも来るかもね。
製品の箱型のとは勝負にならんけど、必要十分な速度は出るはず。
# 結局は用途次第だけど。
0231名無しさん@お腹いっぱい。2006/12/14(木) 03:10:18
>>214
> なんかさ、セキュリティとかでキャッシュ使いたがるところ多いじゃん。
> http/ftpのウイルスチェックやURLフィルタなんかでも。

× キャッシュ
○ プロクシ
02322052006/12/14(木) 16:16:52
質問です。

acl room src 192.168.0.1-192.168.0.100/32
と書いた場合と
acl room src "/etc/squid/acl_room.txt"

/etc/squid/acl_room.txt
----+----+----+----+----+----+----+----+
192.168.0.1/32 # PC1
192.168.0.2/32 # PC2
192.168.0.3/32 # PC3

192.168.0.100/32 # PC100
----+----+----+----+----+----+----+----+
と書いた場合、処理速度に違いは出るのでしょうか?。

※http_access で制御した場合です。
0233名無しさん@お腹いっぱい。2006/12/14(木) 18:58:06
Mac OS Xでも動きますか?
0234名無しさん@お腹いっぱい。2006/12/14(木) 19:44:53
動きます
0235名無しさん@お腹いっぱい。2006/12/14(木) 20:42:55
>>231 しつけー
0236名無しさん@お腹いっぱい。2006/12/18(月) 07:43:10
proxy経由と直接接続を、アクセスするサーバで分けるのではなく、
アクセスするファイルタイプで分けるのにはどうすればよいのでしょうか?
例えば、.htmlならproxy経由で、.cgiなら直接接続、みたいなことをやりたいです。
0237名無しさん@お腹いっぱい。2006/12/18(月) 08:23:36
ブラウザ側の話?
02382362006/12/18(月) 08:27:47
>>237
あ、そうですね…。
この設定はクライアント側の問題ですね…。
squidとは関係のない話でした…。
失礼しました。
0239ポウクンポオ2006/12/22(金) 11:46:02
ちなみに海外から書き込みたいのも設定は必要ですか?
0240名無しさん@お腹いっぱい。2006/12/26(火) 22:14:51
>>236
ファイルタイプだと難しいですが、拡張子でよいならsquidの設定で可能です。
url_regexでaclを定義してあげて、never_direct,always_directを組み合わせて
記述します。

ただ、1つ1つ定義するのも手間なので、目的によっては他の手段でできるんじゃ
ないかなと思います。
0241名無しさん@お腹いっぱい。2006/12/30(土) 01:18:06
鯖に串を立てたいんです。
単に中継してくれるだけでいい(キャッシュ不要)んですが、squidだとどの位
スループットに影響しますか?

いや、Pen@300MHzっていうロースペックなマシンで
串なしで20Mbps前後の所にstone経由させたら4Mbpsまで落ち込んだんで orz
0242名無しさん@お腹いっぱい。2006/12/30(土) 15:25:25
>>241どういう環境でどういう用途にするかによるでしょ同時接続がなくって自分専用なら問題なしみんなで使うとなるとCPU的にしんどい
0243名無しさん@お腹いっぱい。2006/12/30(土) 15:52:59
やってみりゃいいんじゃね
0244名無しさん@お腹いっぱい。2007/01/11(木) 07:51:53
Squidでキャッシュをさせています.
キャッシュにファイルが存在しない場合、
ほぼ同時に複数のクライアントからそのファイルの取得リクエストがあると、
毎回HTTPサーバに対してそのファイルを取りに行ってしまいます。
一度だけ取りに行くように変更する方法はないでしょうか?
0245名無しさん@お腹いっぱい。2007/01/16(火) 14:29:22
外部のウェブページをSquid経由で見ると
更新されてない古いフラッシュや画像が表示される場合があるけど
あれって回避できないのですか?

そもそもSquidって該当ページが更新されてるされてないの判断はどこでやってるの?
0246名無しさん@お腹いっぱい。2007/01/16(火) 14:33:06
定期的にSquidのキャッシュをクリアすればいいんじゃないの?
02472452007/01/16(火) 14:34:26
それだと意味がないような…
Squidは見に行ったページが更新されているか否かは判断してないの?
0248名無しさん@お腹いっぱい。2007/01/16(火) 14:40:43
>>245
http://wiki.squid-cache.org/SquidFaq/InnerWorkings#head-42f0582290981fb15dd7d7edd3d42ae8c52fa317
02492452007/01/16(火) 15:23:47
つーことは
HTML本体が更新されないで中身の画像やフラッシュが更新された場合には
キャッシュから拾ってしまうことがあるってことでOKですか?
0250名無しさん@お腹いっぱい。2007/01/16(火) 15:38:55
つーか画像が HTML に付属してるわけじゃなく、別個の話。
HTML だろうが画像だろうが1ファイルごとに寿命が管理される。

フラッシュは取りに行くクライアントが違うから
挙動が違うこともある。
02512452007/01/16(火) 15:52:52
え?ファイルの寿命って何処で設定するの?
0252名無しさん@お腹いっぱい。2007/01/16(火) 16:30:27
FTPでw
0253名無しさん@お腹いっぱい。2007/01/16(火) 17:31:16
ファイルの寿命はともかく、245は長生きしそうだw
0254名無しさん@お腹いっぱい。2007/01/16(火) 19:20:02
.htaccessでも指定できる
0255名無しさん@お腹いっぱい。2007/01/16(火) 19:47:43
>>251
>>248
0256名無しさん@お腹いっぱい。2007/01/17(水) 17:49:17
squid のベンチマークって何を使ってます?
検証で色々なソフトを使ってみたいのですが、
Web Polygraph しか見つからない。Orz...
0257名無しさん@お腹いっぱい。2007/01/17(水) 20:35:40
>>256
俺はお手軽にApacheBenchやJMeterを使うことが多いが
どうしても少数のURLを繰り返しアクセスすることになるから
何を評価してるんだか判ったもんじゃないな
0258名無しさん@お腹いっぱい。2007/01/18(木) 12:39:15
>>257
レスありがとう。参考にしました。

で、色々と使ってみたけど Proxy の評価なら
Web Polygraph が一番良い感じです。

ただし、Web Polygraph は config が一番難しかった。

ついでに coss を使ってみたけどイイネェ。
aufs , ufs よりも速いですわ。
0259名無しさん@お腹いっぱい。2007/02/16(金) 01:43:00
2chを読めるけど書き込めないようにする
は、このSquidで出来るのでしょうか?
0260名無しさん@お腹いっぱい。2007/02/17(土) 18:55:52
書こうとすると
『書けませんよニヤリ(´ー`)』とか出して見たいね(藁
0261名無しさん@お腹いっぱい。2007/02/19(月) 14:37:02
>>259
acl post method POST
acl 2ch dstdomain .2ch.net
http_access deny post 2ch

でいいんだろうか。
0262名無しさん@お腹いっぱい。2007/02/19(月) 17:05:40
とりあえず、Squidインストールから始めます〜
0263名無しさん@お腹いっぱい。2007/02/27(火) 19:42:00
dstdomainは激しくお勧めできない。
逆引きした時に引けないとレスポンスが極端に低下するよ。
0264名無しさん@お腹いっぱい。2007/03/05(月) 17:05:03
2.6.STABLE5を使っています。
GoogleEarthやWorldWindへのアクセスは通常キャッシュされないのですが、
これら特定ドメイン又はURL等を任意にキャッシュさせるにはどうすればよいでしょうか?
特定〜〜をキャッシュさせない、という例はよく見かけるのですが・・・

'?'を含む場合はキャッシュしない設定、はOFFって実験したつもりですが
これについても指定ドメインに対してのみ動作させたいです。
0265名無しさん@お腹いっぱい。2007/03/06(火) 02:26:36
困っている事をも少し具体的に書いてみて。
何が問題になっているのかよくわからない。

キャッシュしていないってことは、どこかで誰かが何かをしているわけだ。
squidの設定だけで解決できるとは限らないよね。
0266名無しさん@お腹いっぱい。2007/03/06(火) 10:25:11
レス有り難うございます
GoogleEarthの通信を完全に調べたわけではないのですが、httpは

GET http://kh.google.com/flatfile?f1-0201-i.133+f1-02111-i.133&v=1 HTTP/1.1
Accept: text/plain, text/html, text/xml, text/xml-external-parsed-entity, application/octet-stream, application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz, image/*
Cache-Control: no-cache, no-store
Cookie: $Version="0"; SessionId=********* State=1
User-Agent: kh_lt/LT4.0.2737
Host: kh.google.com
Pragma: no-cache
Connection: keep-alive

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Server: Keyhole Server 2.4
Content-Length: 16756
Date: Tue, 06 Mar 2007 01:08:03 GMT
Proxy-Connection: close

といった状態で、Cache-Control、Pragma、Content-Type、Dateあたりは問題ではないかと考えています。
(Cookie認証らしきものも問題になるかもしれません)
そこで、これら諸条件を無視したキャッシュルールが実現できないかとconfを眺めたのですが、
まず特定ドメイン対象に詳細なルールを記述する方法が分からずorz
非キャッシュ指定があるので、強制キャッシュ指定もあるやもと思いまして。
02672662007/03/06(火) 17:37:29
すんません「特定ドメイン対象に詳細なルールを記述する方法」は
refresh_pattern にありますね。ですね。基本的なところで読み落としてました。
refresh_pattern kh.google 10080 80% 20160 override-expire override-lastmod ignore-reload
こうでしょうか?? これで
# acl QUERY urlpath_regex cgi-bin \?
# no_cache deny QUERY
とすると一部キャッシュされてるようです。全部じゃないあたりがまだ何か必要そうなのと、
no_cacheの項目は本当は残しておきたいです。
0268名無しさん@お腹いっぱい。2007/03/16(金) 10:47:47
リクエストが来て、キャッシュが有った場合、
すぐにクライアントにキャッシュを返し、
その後でwebサーバに読みに行って必要であればキャッシュを更新、
といった動作をさせたいドメインがあるのですが、可能でしょうか?
0269名無しさん@お腹いっぱい。2007/03/19(月) 04:22:11
STABLE11 キタワコレ
0270名無しさん@お腹いっぱい。2007/03/21(水) 22:23:22
12
0271名無しさん@お腹いっぱい。2007/04/22(日) 20:13:51
POSTの値をログしたいんですが、どうしたらいいんでしょうか。
0272名無しさん@お腹いっぱい。2007/04/23(月) 10:49:37
squid2.5.xならこんな感じのパッチあてれ。
2.6.xは場所が違うが、同じ手法で出来る事を確認済み。

*** client_side.c.orig Thu Mar 3 09:20:48 2005
--- client_side.c Thu Mar 3 09:22:38 2005
***************
*** 869,874 ****
--- 869,875 ----
packerClean(&p);
memBufClean(&mb);
}
+ http->al.url = http->uri;
accessLogLog(&http->al);
clientUpdateCounters(http);
clientdbUpdate(conn->peer.sin_addr, http->log_type, PROTO_HTTP, http->out.size);
0273名無しさん@お腹いっぱい。2007/05/02(水) 05:13:41
httpdがDMZにある場合、ポートフォワードよりリバースプロキシを使った方が
セキュリティは向上しますか?
0274名無しさん@お腹いっぱい。2007/05/14(月) 21:43:25
13
0275名無しさん@お腹いっぱい。2007/05/18(金) 13:56:59
>>273

ポートフォワードって言葉は多様すぎていまいちぴんと来ないが、
ゲートウェイでの静的NAPTのことか?

また、httpdってな書き方をするとwwwサーバアプリケーション単体のことを
言っているのかセション単位のプロセスのことを言っているのかよく分らない。

それにリバースプロキシを外部のデータセンターに置くのか、レンタルサーバ
使うのか、DMZに置いてwwwサーバを更に内側に移転するのか、とか・・
wwwサーバマシンの物理的な台数や仮想的なホストの数などによっても様々だし、
さらにどういう運用をして管理にどれだけコストが割けるかによっても一概に
言えないし、そもそも何を指して「セキュリティの向上」と捉えるかにもよる。

一ついえることはプロキシが信頼の置けない状態になれば、そこからのアクセス
を許しているマシンも(いくら外部と隔離していても)危険な状態になるのは同じということ。
0276名無しさん@お腹いっぱい。2007/05/28(月) 08:05:33
イカさん、かわいくなった♪
0277名無しさん@お腹いっぱい。2007/06/04(月) 12:54:38
sarg入れてみたら、libiconv で飛ぶんだけど、ガイシュツ?
0278名無しさん@お腹いっぱい。2007/06/05(火) 22:21:08
俺は飛ばない
0279名無しさん@お腹いっぱい。2007/06/05(火) 22:47:31
277だが、1日3000件、転送量で0.5Gbytes位。
Webalizerでは掘り下げが甘いし。
0280名無しさん@お腹いっぱい。2007/06/05(火) 23:05:13
飛ぶって何よ。
0281名無しさん@お腹いっぱい。2007/06/13(水) 17:16:33
FreeBSDでCOSSを使うには
aufsも一緒に組み込んでおくか
kldload aio しなければいかんのか。

ヒントがなかなか見つからなくてはまったorz
0282名無しさん@お腹いっぱい。2007/06/16(土) 13:23:11
COSSを使ってみました。
configure時に
--enable-storeio=coss --enable-coss-aio-ops --with-large-files
を追加して動作するようになりました。
しかし、評価環境のユーザはオレひとりなので、効果のほどは全く分からず・・・。
0283名無しさん@お腹いっぱい。2007/06/16(土) 20:31:48
1MB以上のファイルはキャッシュできない制限ってどこで変えれるの?
0284名無しさん@お腹いっぱい。2007/06/18(月) 20:26:53
>>283
COSS なら squid.conf の cache_dir の項目では
0285名無しさん@お腹いっぱい。2007/06/18(月) 20:30:07
間抜けなことを書いてしまった。
squid.conf に COSS_MEMBUF_SZ を変えろって書いてあるな。
configure するときに値を与えるか src/fs/coss/store_coss.h をいじればいいんじゃなかろーか
0286名無しさん@お腹いっぱい。2007/06/22(金) 17:14:23
COSSを使ってると cache_mem の値と関係なく
際限なくメモリ使用量が増えていく
(そしてそのうちOS側の制限に引っ掛かってプロセスがおっこちる)
ような気がするんだが 気のせい?

FreeBSD6.2 + Squid 2.6STABLE13

0287名無しさん@お腹いっぱい。2007/06/22(金) 23:45:50
気のせい
0288名無しさん@お腹いっぱい。2007/07/06(金) 18:10:26
>>286
そういう前に ulimitがどうなってるか
確認してみよう!
0289名無しさん@お腹いっぱい。2007/07/09(月) 10:36:51
external_aclを作って使用しているのですが、
エラーのHTMLを作成して、それを表示は方法ありますか?
0290名無しさん@お腹いっぱい。2007/07/24(火) 00:54:50
Varnish
http://varnish.projects.linpro.no/
0291名無しさん@お腹いっぱい。2007/08/10(金) 18:55:08
キャッシュが無いコンテンツに対して同時に要求が複数来た場合、
キャッシュされるまでオリジナルサーバに要求を投げるんですか?
例えば100個のクライアントから同じコンテンツを要求されたら、
キャッシュが無い時100回オリジナルサーバの方にリクエストが行くというか・・・
0292名無しさん@お腹いっぱい。2007/08/10(金) 18:59:51
>>291
negative_ttl あたりの話?
0293名無しさん@お腹いっぱい。2007/08/10(金) 19:10:39
>>292
自分でもあまり理解出来ていないんですが、
>>244の様な感じですね・・・。
02942912007/08/14(火) 15:28:51
291です。
色々調べてみた結果無理っぽいという事がわかりました。
TCPコネクションを集約する為のL4L7スイッチなどが必要なようでした。
0295名無しさん@お腹いっぱい。2007/08/19(日) 23:01:38
>>291
>キャッシュされるまでオリジナルサーバに要求を投げるんですか?

キャッシュされていないんだから、どう考えてもリクエストは飛ぶだろ。
Squidはエスパーじゃないし。
0296名無しさん@お腹いっぱい。2007/08/22(水) 19:02:47
>>295
オブジェクトキャッシュを持っていない同じコンテンツにたいして並列に取得クエリが来たら
いくつか目辺りでオリジナルへクエリを飛ばさずクライアントへの返事をちょっと引き延ばして
オリジナルサーバからのオブジェクト取得完了を待って
取得が終わったら一気にクライアントに返す、ってことはできないだろーか
0297名無しさん@お腹いっぱい。2007/08/24(金) 03:04:05
>>296
キャッシュされたという状態の他に取得中って状態も作るの?
理屈としては出来るだろうけど、keep it simple stupidでは無い気もするな。
リバースプロクシー用途であれば同じコンテンツに並列クエリーが一気にくる
ってのもあり得るから、ベンチマーク的に効果が出る場合も有りそうだけど。
0298名無しさん@お腹いっぱい。2007/08/28(火) 03:32:05
どうかお助け下さい。
squidを使用してリバースプロキシを構築しようとしています。
SSL処理のため、サーバ証明書の設定を行うとしていますが、
ベリサインの中間CA証明書はどのように指定すればよいので
しょうか?
バージョンは「squid-2.6.STABLE6-4.el5」です。
よろしくお願いします。
0299名無しさん@お腹いっぱい。2007/08/28(火) 03:54:07
>>291
最初のリクエストに相乗りしているように見えるが。
0300名無しさん@お腹いっぱい。2007/09/01(土) 23:52:47
15
0301名無しさん@お腹いっぱい。2007/09/02(日) 02:03:39
/*チラシの裏

リリースはうれしいけど、土曜日にリリースすんなよな。
火曜とか水曜日ぐらいにしてくれ。
数日とはいえ、会社のSquid ServerのVersionUp
までになにかあったらどーすんだ。

*/
0302名無しさん@お腹いっぱい。2007/09/04(火) 14:18:29
// 自分でコミットしてからじゃなきゃ、うpでとしないのが普通の管理者
0303名無しさん@お腹いっぱい。2007/09/06(木) 09:19:03
16
0304名無しさん@お腹いっぱい。2007/10/05(金) 19:04:49
モバイル通信でパケット代を節約したいため
w3mでブラウジングしていますが、ローカルキャッシュが欲しくSQUIDの導入を考えています。
ローカルにsquidを立ち上げて、そこにキャッシュさせようと考えていますが

画像もダウンロードさせると何の意味も無いので
テキストファイルだけを取って来させる設定って出来ますか?
0305名無しさん@お腹いっぱい。2007/10/06(土) 03:06:42
頻繁にアクセスするサイトをsquidがあらかじめ定期的に読み込むようにすることはできませんか?
0306名無しさん@お腹いっぱい。2007/10/06(土) 03:14:39
定期的に wget するとか。
0307名無しさん@お腹いっぱい。2007/10/06(土) 12:44:11
3.0 RC1 が出ているね
http://www.squid-cache.org/Versions/v3/3.0/

テストする気にもならんがw
0308名無しさん@お腹いっぱい。2007/10/24(水) 16:25:54
squid-prefetchで画像も読み込むようにはできないでしょうか?
0309名無しさん@お腹いっぱい。2007/10/30(火) 00:53:22
squidcram 重すぎ orz...
viralator ダサすぎ orz...

やっぱり無理か。
0310名無しさん@お腹いっぱい。2007/11/02(金) 03:22:08
http://www.av-fan.net/photo14.php?& 〜何たら〜 .jpg
のような画像がキャッシュできないのですが、
可能でしょうか?
0311名無しさん@お腹いっぱい。2007/11/05(月) 22:28:43
squid.conf の TAG: cache の項目を穴の空くほど読めばいいんじゃないかな
0312名無しさん@お腹いっぱい。2007/11/06(火) 02:48:51
>>309
mail用のclamavちょろっと変更してsquidclam試してみた
遅い鯖相手だとタイムアウトする事が多いな設定で調整かな
ローカルポートの利用範囲制限出来ないのかな?
せっかくだから使ってみる・・・・Nortonとの2重チェックだけど・・・。
0313名無しさん@お腹いっぱい。2007/11/06(火) 15:34:21
>>311 できました!
ありがとうございました。
0314名無しさん@お腹いっぱい。2007/11/21(水) 15:12:35
squid-2.4で、あるドメインは直接取りに行き、それ以外は親proxyに投げるという設定は、どうすればよいのでしょうか?
always_directやnever_directをさわってみたのですが、なかなか思い通りに動いてくれません。

よろしくお願いします。
0315名無しさん@お腹いっぱい。2007/11/21(水) 15:13:13
すいません
あげときます
0316名無しさん@お腹いっぱい。2007/11/21(水) 15:36:05
acl 2ch dstdomain 2ch.net
always_direct allow 2ch
never_direct allow all
でだめかい?
0317名無しさん@お腹いっぱい。2007/11/21(水) 15:49:05
>>316
やってみましたが、両方とも親に投げられてしまいます(つд⊂)エーン

たいがい、両方とも親に投げられるか直接取りに行くかになってしまいます
ある場合は、逆(指定ドメインは親に、それ以外は直接)になってしまいました。

やりたいことは指定ドメインは直接、それ以外は親です。

ローカルネットだけ直接取りに行くという希望と同じことです

予想外に思い通りにならないので困ってます
0318名無しさん@お腹いっぱい。2007/11/21(水) 15:59:18
もうひとつあるんですが、デフォルトではSSL通信だけは親に投げずに必ず直接取りに行くのですが、
これってそういう仕様なんでしょうか???

always_directで強制すれば親に投げてくれるんですが
0319名無しさん@お腹いっぱい。2007/11/21(水) 17:35:10
acl 2ch dstdomain 2ch.net
acl PROTO proto ftp http https

never_direct deny 2ch
never_direct allow all

cache_peer_access xxx.xxx.xxx.xxx deny 2ch
cache_peer_access xxx.xxx.xxx.xxx allow PROTO

これでどう?(xxx.xxx.xxx.xxx は親のIPアドレスで)
うちはこれで動いているけど。
0320名無しさん@お腹いっぱい。2007/11/21(水) 19:01:50
>>319
ありがとうございます

試してみたけど、ダメみたいです
ただ、子proxyからのアクセスには影響があった(アクセスできなくなった)ので、何かが起こってるみたい

たぶんうちの環境に、なにか特殊な問題があるんでしょうね・・・・
しょうがないかな

squidの詳しい本があれば買って、何が起こってるのか考えてみたいと思ってます
0321名無しさん@お腹いっぱい。2007/11/21(水) 20:11:21
>>320
cache_peer,cache_peer_access,never_direct,always_direct の設定と
それに関連する acl だけ出してごらん。
(もちろんマスクして)

見れば判ると思うから。
■ このスレッドは過去ログ倉庫に格納されています