[ from README ]
The limits defined by mod_limitipconn.c apply to all IP addresses connecting to your Apache server.[ from README 意訳 ]
Currently there is no way to set different limits for different IP addresses.
mod_limitipconn.c で指定された制限は、apache サーバーに接続する全ての IP アドレスに適用されます。
現在、IP アドレス限定の設定をする方法はありません。
% make作成された mod_limitipconn.so は、自動的に /usr/local/apache/libexec/ にコピーされます。
% su
# make install
このあとは httpd.conf の設定を行ってください。
% cd apache_1.3.24
% patch -p1 < ../mod_limitipconn-0.04/apachesrc.diff
% cp ../mod_limitipconn-0.04/mod_limitipconn.c src/modules/extra/
% ./configure --activate-module=src/modules/extra/mod_limitipconn.c --with-forward
% make
% su
# make install
書式例: | MaxConnPerIP <num> |
初期値: | なし |
記述箇所: | VirtualHost ディレクティブ内 / .htaccess 内 / サーバー全体設定内 |
例) 接続上限を IP アドレス毎 3に設定
MaxConnPerIP 3
書式例: | OnlyIPLimit <mimetype> (<mimetype>...) |
初期値: | なし |
記述箇所: | VirtualHost ディレクティブ内 / .htaccess 内 / サーバー全体設定内 |
例-1) MPEG 系と WMA を制限する。
OnlyIPLimit audio/mpeg audio/wma
例-2) オーディオ系全てを制限する
OnlyIPLimit audio/*
書式例: | NoIPLimit <mimetype> (<mimetype>...) |
初期値: | なし |
記述箇所: | VirtualHost ディレクティブ内 / .htaccess 内 / サーバー全体設定内 |
# DSO サポートの場合は必要
LoadModule limitipconn_module libexec/mod_limitipconn.so<IfModule mod_limitipconn.c>
# 指定した apache "仮想ディレクトリ" 直下全てを制限対象にする。
# <Location> のディレクトリは <Directory> で指定されたディレクトリ
# ではなく、<Directory> をルートとしたディレクトリを指定することに
# 注意。
# 制限するディレクトリは <Location> を複数指定することにより他のデ
# ィレクトリの制限も行うことが出来る。
# VirtualHost を使用している場合は <VirtualHost> ディレクティブ内
# に記述すること。
<Location />
# 最大接続数 (1〜)
# 0 で無制限
MaxConnPerIP 0
# 制限対象のファイル
#
# 複数ある場合はスペースで区切る。
# OnlyIPLimit audio/mpeg audio/wma
#
# ワイルドカード使用可能
# OnlyIPLimit audio/*
OnlyIPLimit audio/mpeg
</Location>
<Location /mp3>
MaxConnPerIP 5
# 制限対象外のファイルを指定する。
# これ以外のファイルは制限対象にはいるので注意が必要。
NoIPLimit audio/mpeg
</Location>
</IfModule>
CustomLog /usr/local/apache/logs/access_log common env=!LIMITIP
env=!LIMITIP で mod_limitipconn で接続拒否されたログを残さないようにする。
error_log も同様にものすごいことになるので、error_log でも接続拒否されたログを残したくない場合は、同様に env=!LIMITIP を付けます。
<Limit GET>MaxConnPerIP、OnlyIPLimit、NoIPLimit 以外はそのまま .htaccess 内に記述します。
<IfModule mod_limitipconn.c>
MaxConnPerIP 2
OnlyIPLimit image/bmp
</IfModule>
</Limit>
# # mod_limitpconn.c # # DSO サポートの場合は必要 LoadModule limitipconn_module libexec/mod_limitipconn.so # LoadModule で start/configtest 時に warn が出る場合は不要 #AddModule mod_limitipconn.c # 拒否された接続を別のログへ保存する場合はこの設定を行う CustomLog /usr/local/apache/logs/limitdenied_log common env=LIMITIP <IfModule mod_limitipconn.c> <Location /download> MaxConnPerIP 5 OnlyIPLimit audio/mpeg audio/wma </Location> </IfModule>
# # VirtualHost # <VirtualHost www.example.com> ### VirtualHost に関する設定は一部のみ記載しています。 # VirtualHost 内での DocumentRoot DocumentRoot /pub1/www/docroot <IfModule mod_limitipconn.c> <Location /download> MaxConnPerIP 5 OnlyIPLimit image/bmp </Location> </IfModule> </VirtualHost> # # mod_limiitpconn.c # # DSO サポートの場合は必要 LoadModule limitipconn_module libexec/mod_limitipconn.so # LoadModule で start/configtest 時に warn が出る場合は不要 #AddModule mod_limitipconn.c