首页 > 其他 > 详细

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

时间:2020-10-07 10:14:51      阅读:21      评论:0      收藏:0      [点我收藏+]
九、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入门篇——四(访问限制)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!