眠る開発屋blog ある開発屋の雑感。日々勉強。

2006/10/21 土曜日

mod_ip_count

Filed under: 技術メモ — dev0000 @ 16:55:21

apacheのアクセス制御を色々と調べているのだが、mod_ip_countというApache2用のモジュールを見つけた。
subversion のコマンドを使えばダウンロードできる(svn co http://svn.zilbo.com/svn/mod_ip_count/branches/2.0/)。
でもって、「./configure –with-apxs=/usr/bin/apxs、make install 」でインストール。

mod_limitipconnがap_get_scoreboard_workerでワーカ情報を取得し、同時接続数で制御するのに対し、mod_ip_countはmemcachedを利用し(なのでmemcachedのデーモンを立ち上げておく必要あり)、特定IPからの単位時間あたりのアクセス数で制御する。
設定の為の項目は、MemCacheMaxRequests(接続数)とかMemCacheMaxTime(チェックする単位時間秒)とか。
IPアドレスの代わりに、COOKIE情報や特定のヘッダー情報を使うことも可能なようだ。

ここで細かく説明するよりは mod_ip_count.c の中身見たほうが早いかも。
(マニュアルもあるわけじゃなし)

ってか、mod_limitipconn と違い、メモリ上にチェック用のテーブルを作るものなので、ソースをハックすればもっと色々応用がききそうな気がする。
あと、apacheを負荷分散していて情報を共有したい場合も、memcached 使っているので簡単にできそうだ、とか。

ただ、Webに情報ほとんど見つからない。
他の制御モジュールでなんとかなっているからなのか、それともどこかにまずいところがあるのか。
確かに memcached を併用するのは敷居が高いかもしれないけど。

Powered by WordPress