2ch特化型サーバ・ロケーション構築作戦 Part24
850 :
root▲▲ ★:
帰宅。
>>849 ううむ、ざっとしか読んでませんが
Apache 2.2.4のmod_mem_cacheはVulnerableで、
かつRemotely exploitableですか、、、。
だとすると、cの応用で、
squid等をローカルに動かしてみるとかか。
まずは、いったんめしで。
>>847-850 出張とかある中乙です......
Apache の mod_*_cache がいまいちということだと,確かに Squid の方が手堅いかもですね.
キャッシュさせる目的が dat 等の読み出しによるバックエンドの負荷を軽減させることであることからすると,
入れるのはフロントですね.
フロントの httpd -> バックエンドの dat 用 httpd
というのを
フロントの httpd -> フロントの Squid -> バックエンドの dat 用 httpd
という形にすると.
>>851 ただsquidにすると、http 1.0になっちゃうのかな。
で、対象は*.datとsubject.txtだけと。
いずれにせよ、明日の夜に宿泊先でってかんじかなと。
>>852 Squid -> httpd の部分は HTTP/1.0 になりますね.
もっとも,直接ユーザから見える部分ではないですけど.
で,その方向でやるとすると,httpd では
RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$
http://live23.2ch.net:pppp/$1 [P]
の部分を
RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$
http://localhost:3128/$1 [P]
のようにして,Squid では
http_port 127.0.0.1:3128 defaultsite=live23.2ch.net
cache_peer private_addr_of_live23b parent port_of_httpd_for_dat 0 no-query originserver
refresh_pattern . 0 0% 0
collapsed_forwarding on
refresh_stale_hit 1
のようにするといいのかな...... まぁ,とりあえずじっk(ry
854 :
root▲▲ ★:2007/06/15(金) 02:48:51 ID:???0 BE:2736656-PLT(74072)
live23f5(squid挟み)
HTTP/1.1 200 OK
Date: Thu, 14 Jun 2007 17:45:56 GMT
Server: Apache/2.2.2
Content-Length: 3059
Content-Type: text/html; charset=shift_jis
X-Cache: MISS from tiger507.maido3.com
X-Cache-Lookup: MISS from tiger507.maido3.com:ぽわわ
Via: 1.0 tiger507.maido3.com:ぽわわ (squid/2.6.STABLE13)
Vary: Accept-Encoding
live23f4(直接)
HTTP/1.1 200 OK
Date: Thu, 14 Jun 2007 17:46:30 GMT
Server: Apache/2.2.2
Content-Length: 3059
Content-Type: text/html; charset=shift_jis
Vary: Accept-Encoding
855 :
root▲▲ ★:2007/06/15(金) 02:49:19 ID:???0 BE:3283766-PLT(74072)
X-Cache: MISS from tiger507.maido3.com
X-Cache-Lookup: MISS from tiger507.maido3.com:ぽわわ
Via: 1.0 tiger507.maido3.com:ぽわわ (squid/2.6.STABLE13)
この3行を出させなくするには、どうしたらいいのかしら。
856 :
root▲▲ ★:2007/06/15(金) 02:54:53 ID:???0 BE:1641863-PLT(74072)
# TAG: via on|off
# If set (default), Squid will include a Via header in requests and
# replies.
#
#Default:
# via on
これではないみたい。
857 :
root▲▲ ★:2007/06/15(金) 02:57:58 ID:???0 BE:2736465-PLT(74072)
header_access Via deny all
header_access X-Cache deny all
header_access X-Cache-Lookup deny all
ふむ。これか。
858 :
root▲▲ ★:2007/06/15(金) 02:58:30 ID:???0 BE:2188883-PLT(74072)
とりあえずできたかな。
ちょっとフロントに入れてみるか。
859 :
root▲▲ ★:2007/06/15(金) 03:00:51 ID:???0 BE:2189838-PLT(74072)
入れた。様子を確認中。
>>854-859 乙です.以前未解決だった黒山羊問題もどうか,ってとこですかね......
861 :
root▲▲ ★:2007/06/15(金) 03:02:40 ID:???0 BE:821333-PLT(74072)
動いていそうなので、負荷テスト。
live23f5 にだけ流し込み。
862 :
root▲▲ ★:2007/06/15(金) 03:04:03 ID:???0 BE:1368353-PLT(74072)
しばらく見ていて問題ないようなら、
・お風呂に入る
・live23f1-f4にも同じ設定を入れる
・もとどおりフロントを5台にする
という方向で。
863 :
root▲▲ ★:2007/06/15(金) 03:09:05 ID:???0 BE:2463539-PLT(74072)
あとフロントのsquidはほとんどアクセスログとってないけど、
# for squid log rotate
0 0 * * * /usr/local/sbin/squid -k rotate
を入れるのを忘れないようにと。
864 :
root▲▲ ★:2007/06/15(金) 03:18:26 ID:???0 BE:3284249-PLT(74072)
ログインいただいているようなので、
squid.conf を見られるようにしておきます。
チェックいただけると、とてもうれしいです。
>>864 乙です.こちらで見た限りではいいんじゃないかと思います.
さて,これで実運用でどんな感じになるか,ってとこですか......
866 :
root▲▲ ★:2007/06/15(金) 03:43:22 ID:???0 BE:5107687-PLT(74072)
>>865 どもです。
daemontools配下にして、reniceを弾力的にできるようにしようと。
rtprioするのはちょっと不安なので、とりあえず-14(cフロントと同じ)で。
#!/bin/sh
exec 2>&1
#exec env - PATH="/usr/sbin:/usr/bin:/bin:/usr/local/bin" \
# /usr/sbin/rtprio 31 setuidgid squid /usr/local/sbin/squid -D -N
exec env - PATH="/usr/sbin:/usr/bin:/bin:/usr/local/bin" \
/usr/bin/nice -n -14 setuidgid squid /usr/local/sbin/squid -D -N
867 :
root▲▲ ★:2007/06/15(金) 03:45:54 ID:???0 BE:1276872-PLT(74072)
いい感じかな。
この設定を全フロントに仕込もうかと。
868 :
root▲▲ ★:2007/06/15(金) 03:46:29 ID:???0 BE:730324-PLT(74072)
ただし、とりあえず適用はlive23にだけ。
live24/news20(現在使用せず)は従来どおり。
869 :
root▲▲ ★:2007/06/15(金) 03:49:11 ID:???0 BE:2189164-PLT(74072)
870 :
root▲▲ ★:2007/06/15(金) 03:50:02 ID:???0 BE:1641863-PLT(74072)
で、みんなでおんなじスレを読んでもらえば、
さらに効果が上がると。
なんていう皮算用で。
>>870 ですね.特に,同一ファイルに対する同時アクセスで効果が大きいってことで.
872 :
root▲▲ ★:2007/06/15(金) 03:59:46 ID:???0 BE:1642436-PLT(74072)
まとめ:
0) ロードバランスから一時的に切り離す
1) squidを入れる
(事前に /etc/make.conf に設定追加必要: X11BASE 問題)
X11BASE=${LOCALBASE}
2) squid.conf を設定する
(別掲)
3) squid 起動/日次処理設定を入れる
>>866 >>863 4) squid 動かす
5) httpd.conf を設定してApacheを再起動する
6) ロードバランス戻す
873 :
root▲▲ ★:2007/06/15(金) 04:07:48 ID:???0 BE:4925096-PLT(74072)
>>853 以外の主な squid.conf の設定
cache_mem 128 MB
maximum_object_size_in_memory 4096 KB
cache_replacement_policy heap GDSF
memory_replacement_policy heap LFUDA
cache_dir null /dev/null
logfile_rotate 3
memory_pools off
forwarded_for off
header_access Via deny all
header_access X-Cache deny all
header_access X-Cache-Lookup deny all
874 :
root▲▲ ★:2007/06/15(金) 04:28:55 ID:???0 BE:3648858-PLT(74072)
875 :
root▲▲ ★:2007/06/15(金) 04:34:17 ID:???0 BE:1642436-PLT(74072)
異常なさげ。
ほんとは動かしながら調整したい (
>>873 とか
>>866 の値とか) ですが、
かなり無理そうです。
やりたいことはやったので、
あとは、運を天空の城に任せる方向で。
遅くまでお疲れ様です