Apache2の帯域制御

Apache2モジュールをインストールする。

apt install libapache2-mod-cband

/etc/apache2/sites-availableディレクトリ内のアクティブサイトの定義ファイルを編集する。

以下は、VirtualHostの帯域制御を行う例

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin sitemaster@localhost
    ServerName www.sugio-garden.com
    DocumentRoot /var/htdocs/site/
       ・・・・・・・・・
    <IfModule mod_cband.c>
        CBandSpeed 8192 10 30
        CBandExceededSpeed 1024 5 15
    </IfModule>
</VirtualHost>

バーチャルホストの最大速度を 8192kbps、一秒間の最大リクエストを 10、同時接続数を 30 に制限、制限を超えた場合には、最大速度を1024kbps、1秒間の最大リクエスト5、同時接続15に制限する場合

定義ファイル編集後に、

a2enmod cband

帯域制御の状態を見るには、

/etc/apache2/conf.d内に適当なファイル名で

<Location /cband-status>
        Order allow,deny
        allow from 192.168.0.0/23
        SetHandler cband-status
</Location>

アクセス制限も同時に設定する。http://ホスト名/cband-statusでアクセスする。

Keywords
Linux Web