nginx與apache怎么限制ip并發訪問

nginx
nginx限制ip并發數,也是說限制同一個ip同時連接服務器的數量
1.添加limit_zone
這個變量只能在http使用
vi /usr/local/nginx/conf/nginx.conf
limit_zone one $binary_remote_addr 10m;
2.添加limit_conn
這個變量可以在http, server, location使用
我只限制一個站點,所以添加到server里面
vi /usr/local/nginx/conf/host/gaojinbo.com.conf
limit_conn one 10;
3.重啟nginx
killall nginx -hup

復制代碼?代碼如下:

vi /usr/local/nginx/conf/vhosts/down.redocn.com.conf
limit_zone one $binary_remote_addr 10m;
server
{
listen 80;
server_name down.redocn.com;
index index.html index.htm index.php;
root /data/www/wwwroot/down;
error_page 404 /index.php;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#zone limit
location / {
limit_conn one 1;
limit_rate 20k;//限速
}
# serve static files
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root /data/www/wwwroot/down;
expires 30d;
}
}

apache
要使apache服務器做對同一ip地址的連接限制,需要mod_limitipconn來實現。一般需要手動編譯。不過模塊作者也提供了一些編譯好的模塊,根據自己的apache版本可以直接使用。
1。編譯方式:
tar zxvf mod_limitipconn-0.xx.tar.gz
cd mod_limitipconn-0.xx
make apxs=/usr/local/apache/bin/apxs —–這里要按你自己的路徑設置
make install apxs=/usr/local/apache/bin/apxs —–這里要按你自己的路徑設置
2.rpm安裝方式:
直接下載mod_limitipconn-0.xx.rpm
rpm -uhv mod_limitipconn-0.xx.rpm
然后確認產生的mod_limitipconn.so文件在apache服務器模塊目錄里。
3。編輯httpd.conf文件:

復制代碼?代碼如下:

extendedstatus on
loadmodule limitipconn_module modules/mod_limitipconn.so
# 所有虛擬主機的/目錄
maxconnperip 3 # 每ip只允許3個并發連接
noiplimit image/* # 對圖片不做ip限制

# 所有主機的/mp3目錄
maxconnperip 1 # 每ip只允許一個連接請求
onlyiplimit audio/mpeg video # 該限制只對視頻和音頻格式的文件

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享