当前位置:首页 > 技术文章 > 正文内容

Nginx 限流常用模块:限制并发和IP访问频率

arlanguage3个月前 (01-22)技术文章25

Nginx 是我们常用的负载均衡和反向代理服务器,并发性能非常优秀。但是在并发量极大的情况下,必要限流措施还是需要的,Nginx 的有对应的模块插件可通过简单配置来完成这个功能。

限制并发

限制ip并发数,也是说限制同一个ip同时连接服务器的数量。

1、添加limit_conn_zone

这个变量只能在http使用。

http{
 ...
 #定义一个名为one的limit_zone,大小10M内存来存储session,
 #以$binary_remote_addr 为key
 #nginx 1.18以后用limit_conn_zone替换了limit_conn
 #且只能放在http作用域
 limit_conn_zone $binary_remote_addr zone=one:10m;

2、添加limit_conn

这个变量可以在http, server, location使用。只限制一个站点,所以添加到server里面。

server{
 ...
 location {
 ...
 limit_conn one 20;		 #连接数限制
 #带宽限制,对单个连接限数,如果一个ip两个连接,就是500x2k
 limit_rate 500k;		 
 ...
 }
 ...
 }

3、重启Nginx。

限制IP访问频率

限制同一个ip在一段时间里连接服务器的次数,可以一定程度上防止类似CC这种快速频率请求的攻击。

1、添加limit_req_zone

这个变量只能在http使用

http{
 ...
 #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,
 #以$binary_remote_addr 为key,限制平均每秒的请求为5个,
 #1M能存储16000个状态,rete的值必须为整数,
 #如果限制两秒钟一个请求,可以设置成30r/m
 limit_req_zone $binary_remote_addr zone=allips:10m rate=5r/s;
 ...

2、添加limit_req

这个变量可以在http, server, location使用。只限制一个站点,所以添加到server里面。

3、重启Nginx。

上面两种配置,注意看注释,比较实用。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1026.html

标签: nginx ip段
分享给朋友:

“Nginx 限流常用模块:限制并发和IP访问频率” 的相关文章

推荐一款 Nginx 可视化配置神器

Nginx 是前后端开发工程师必须掌握的神器。该神器有很多使用场景,比如反向代理、负载均衡、动静分离、跨域等等。把 Nginx 下载下来,打开 conf 文件夹的 nginx.conf 文件,Nginx 服务器的基础配置和默认的配置都存放于此。配置是让程序员非常头疼的事,比如 Java 后端框架...

给你的Nginx加个防火墙

引言朋友的一个 WordPress 站经常访问慢。看了一下日志,发现整天被扫描网站目录,如phpmyadmin 或者 SQL 文件,和被 CC攻击。找了一下,发现 ngx_lua_waf 是个不错的方案,但是太久不更新了,而且代码我看不懂,猝最后找到 oneinstack 一键包内置的 ngx_lu...

我采访了一位 Pornhub 工程师,聊了这些纯纯的话题

成人网站在推动 Web 发展方面所起到的作用无可辩驳。从突破浏览器的视频能力限制,到利用 WebSocket 推送广告(防止被广告拦截器拦截),你必须不断想出各种聪明的办法,让自己处在 Web 技术创新的最前沿。最近,我有幸采访了大型成人网站 Pornhub 的一位 Web 开发工程师,了解了相关的...

nginx检查提示“unknown directive "stream" in /etc/*/nginx.conf”

yum安装nginx检查时提示“unknown directive "stream" in /etc/nginx/nginx.conf”yum安装nginx,在配置反代时,出现错误:nginx -tnginx: [emerg] unknown directive "strea...

php手把手教你做网站(二十四)jquery ajax上传大的附件

上传大的附件分为两种情况,可以改变服务器配置;不能改变配置;第2种使用分片上传优势:可以突破服务器上传大小的限制,可以web存储上传到哪一块了,在浏览器关闭或者刷新的情况下可以断点续传;劣势:上传速度慢,在我本地电脑测试,200M的文件,改变配置按照正常方式上传大约需要12到15秒,但是使用第2种分...

Linux进程管理工具 Supervisor详解

Supervisor安装与配置(linux/unix进程管理工具) Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、...