linux nginx 安全配置文件,nginx网站安全配置(Nginx)

## 这里取得原始用户的IP地址

map $http_x_forwarded_for $clientRealIp {

"" $remote_addr;

~^(?P[0-9\.]+),?.*$ $firstAddr;

}

## 针对原始用户 IP 地址做限制

limit_conn_zone $clientRealIp zone=TotalConnLimitZone:20m ;

limit_conn TotalConnLimitZone 50;

limit_conn_log_level notice;

## 针对原始用户 IP 地址做限制

limit_req_zone $clientRealIp zone=ConnLimitZone:20m rate=10r/s;

#limit_req zone=ConnLimitZone burst=10 nodelay;

limit_req_log_level notice;

## 具体服务器配置

server {

listen 80;

location ~ \.php$ {

## 最多 5 个排队, 由于每秒处理 10 个请求 + 5个排队,你一秒最多发送 15 个请求过来,再多就直接返回 503 错误给你了

limit_req zone=ConnLimitZone burst=5 nodelay;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

}

}

这里说明一下,limit_conn_zone ,limit_conn ,limit_req_zone,limit_req   可以根据你产品的需求进行修改。经过ab的测试:

ab -c 100 -t 10 http://localhost/test.php

没修改配置文件之前的访问日志,看看这时候的访问日志

20140627033343659.jpg

修改了配置文件之后,加上 nodelay之后超过 burst大小的请求就会直接 返回503,如图

20140627033343795.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值