码迷,mamicode.com
首页 > 其他好文 > 详细

NGINX入门篇——四(访问限制)

时间:2020-10-07 20:59:54      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:failed   地址   enc   htm   测试   三次握手   发送   res   log   

九、NGINX访问限制

1.ngx_http_limit_req_module

(1): 启用请求频率限制:
①:测试未限制情况下的访问:
yum install -y httpd-tools //下载压测工具
ab -n 100 -c 10 http://127.0.0.1/ //用压测工具向自己发送100次请求,分10次发送
②:技术图片
③:启动限制:
1.vim /etc/nginx/nginx.conf
2.limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s; //定义
技术图片
3.引用: vim /etc/nginx/conf.d/default.conf
limit_req zone=req_zone;
技术图片
4.systemctl restart nginx //重启服务
5.测试: ab -n 100 -c 10 http://127.0.0.1/
技术图片
6.观察错误日志: tail -10 /var/log/nginx/error.log
技术图片


2.ngx_http_limit_conn_module

1.目的:通过IP地址,限制链接(TCP)。但是实验环境无法测试
2.启动连接频率限制
(1):vim /etc/nginx/nginx.conf
(2):
http {
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
}
server {
location / {
...
limit_conn conn_zone 1;
}
}
技术图片
单个IP,同时只允许有一个tcp连接
(3):yum install -y httpd-tools
(4) ab -n 100 -c 10 http://服务器IP地址/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Benchmarking localhost (be patient).....done

Server Software: nginx/1.12.1
Server Hostname: tianyun.me
Server Port: 80

Document Path: /
Document Length: 671 bytes 文档长度

Concurrency Level: 10 当前并发数
Time taken for tests: 0.006 seconds 消耗总时间
Complete requests: 100 完成请求数
Failed requests: 0 失败请求数
Write errors: 0
Total transferred: 90400 bytes 总的传输大小
HTML transferred: 67100 bytes http传输大小
Requests per second: 15873.02 [#/sec] (mean) 每秒钟处理多少个请求。
(3): TCP的三次握手连接太小了,效果不明显

NGINX入门篇——四(访问限制)

标签:failed   地址   enc   htm   测试   三次握手   发送   res   log   

原文地址:https://blog.51cto.com/14881339/2540105

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!