如果您的網站是很受人歡迎的網站,可能會遭受到來自網路上一大堆惡意的多次連線,造成網路的阻塞,這時您可以安裝 mod_limitipconn 來解決這個問題。
mod_limitipconn 是 Apache 限制 IP 連線數的 Module, Client 端使用多線的下載會對 Server 造成較高的 Loading, 其實速度也不見得會比較快.
在這邊我們用的是 rpm 的版本
安裝步驟:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum install mod_limitipconn
這樣就安裝好了...然後加到 httpd.conf, 本例是每個 IP 限制 20 個連線, 圖檔不限制
引用:
# Limit IP Connection - mod_limitipconn
MaxConnPerIP 20
NoIPLimit images/*
接著新增一隻檔案.載入module
# vi /etc/httpd/conf.d/limitipconn.conf
引用:
<IfModule mod_status.c>
# This is always needed
ExtendedStatus On
# mod_limitipconn configuration
LoadModule limitipconn_module modules/mod_limitipconn.so
# A global default configuration doesn't make much sense. See the README
# from the mod_limitipconn package for configuration examples.
</IfModule>
重啟 Apache 後, 查看 phpinfo() 若 Loaded Modules 有看到 mod_limitipconn 表示已經有載入
使用多線下載軟體如 Flashget 測試, 線程開超過限制的量, 觀察 access log,
若看到到 Apache status code 503 (Service Temporarily Unavailable)
即表示運作正常, 超出的線程被限制住了.