nginx限制访问速度

转自:http://siwei.me/blog/posts/nginx-ip

参考:http://tengine.taobao.org/document_cn/http_limit_req_cn.html

HttpLimitReqModul 限制某一段时间内同一ip访问数实例

http{
    ...
    #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,
    #以$binary_remote_addr 为key,限制平均每秒的请求为20个,
    #1M能存储16000个状态,rete的值必须为整数,
    #如果限制两秒钟一个请求,可以设置成30r/m
    limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;
    ...
    server{
        ...
        location {
            ...
            #限制每ip每秒不超过20个请求,漏桶数burst为5
            #brust的意思就是,如果第1秒、2,3,4秒请求为19个,
            #第5秒的请求为25个是被允许的。
            #但是如果你第1秒就25个请求,第2秒超过20的请求返回503错误。
            #nodelay,如果不设置该选项,严格使用平均速率限制请求数,
            #第1秒25个请求时,5个请求放到第2秒执行,
            #设置nodelay,25个请求将在第1秒执行。
            limit_req zone=allips burst=5 nodelay;
            ...
        }
        ...
    }
    ...
}

(测试不通过) HttpLimitZoneModule 限制并发连接数实例 limit_zone只能定义在http作用域,limit_conn可以定义在http server location作用域

http{
    ...
    #定义一个名为one的limit_zone,大小10M内存来存储session,
    #以$binary_remote_addr 为key
    #nginx 1.18以后用limit_conn_zone替换了limit_conn
    #且只能放在http作用域
    limit_conn_zone   one  $binary_remote_addr  10m;
    ...
    server{
        ...
        location {
            ...
           limit_conn one 20;          #连接数限制
           #带宽限制,对单个连接限数,如果一个ip两个连接,就是500x2k
           limit_rate 500k;
            ...
        }
        ...
    }
    ...
}

每个IP 允许最多10个连接, 每个连接1MB

Inside your server block configuration:

limit_rate 128K; limit_zone one $binary_remote_addr 10m;

Inside your location block configuration:

limit_conn one 10;

In this example, it would allow 10 connections per IP with 1 Mbit each.

如果仅仅是 限制某个req的速度:

limit_rate 50k;

时间: 2024-10-10 06:25:26

nginx限制访问速度的相关文章

使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度

碰到问题: 移动用户访问web服务器www.osyunwei.com很慢 解决办法: 1.在移动机房放置一台nginx反向代理服务器 2.通过域名DNS智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器 3.nginx反向代理服务器与web服务器之间采用专线连接 系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接 说明: 1.web服务器 线路:电信 IP:192.168.21.129 域

Nginx——使用 Nginx 提升网站访问速度【转载+整理】

原文地址 本文是写于 2008 年,文中提到 Nginx 不支持 Windows 操作系统,但是现在它已经支持了,此外还支持 FreeBSD,Solaris,MacOS X~ Nginx("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器. Nginx 是由俄罗斯人 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru(俄文:Рамблер)站点开发的,第一个公开版本 0.1.0 发布于2004年10月4日.

使用 Nginx 提升网站访问速度(转)

Nginx 简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了. Igor 将源代码以类 BSD 许可证的形式发布.尽管还是测试版,但是,Nginx 已经因为它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名了. 根据最新一期(08 年 6 月份)的 N

如何有效减少网页加载时间?20个提高网站访问速度的方法

网友上网都不喜欢用太多的时间等待网页的打开,等待的越长,用户可能会直接关闭网页,这样就会损失很多流量!其次,关键字的排名与网页的打开速度也有关系,这个主要体现搜索引擎对用户体验度上,用户体验度好,排名相对其它网站就好些.因此我觉得我们有必要去提高网页的打开速度,这个不需要太多的成本投入,只需要平时多注意一些小技巧就行了!下面给出20种方法帮你提高网站访问速度缩短网页加载时间. 1.减少页面HTTP请求数量 比较直接的理解就是要减少调用其他页面.文件的数量. A.我们在使用css格式控制的时候,经

电脑新手如何用CDN提高网站访问速度

对现在很多公司来说,有一个网站是必要的,即便没什么人访问,名片上面都有一个网址,那就显得这个公司要正规一些,也有一些互联网的意识. 不过最近有一次,我给老板做了个网站,我们是一个外包汽车零件的公司,老板在开发布会的时候特别炫耀了一下,我们的网站可以让订货商在线提交订单,然后可以在线发货,在公司里安排好网络客服部门,就可以为订货商提供优质的跟踪服务.然后老板现场演示了一下网站的订单功能,结果,提交订单后返回的是请求被拒绝,这特么就尴尬了. 当时我用的国内某巨头的云服务器,然后还有免费提供的CDN,

20点提高网站访问速度缩短网页加载时间!

文章来源:http://www.chinaz.com/web/2014/1112/373946.shtml 1.减少页面HTTP请求数量 比较直接的理解就是要减少调用其他页面.文件的数量. A.我们在使用css格式控制的时候,经常会采用background载入很多图形文件,每个background的图像至少产生1次HTTP请求,一般我们为了让页面生动活泼会大量使用background来加载背景图,要改善这个状况,可以采用css的1个有用的background-position属性来加载背景图,我

优化页面访问速度(一)——综述

优化页面访问速度(一) ——综述 一.概述 优化页面访问速度,首先需要了解用户在浏览器输入url后,最终是如何看到所需的页面.在了解整个流程后,可以逐个步骤进行优化. 二.从URL到页面 大致流程如下: 1.DNS服务器解析域名,并转成IP,返回给浏览器,浏览器直接通过IP来访问. 2.根据IP,通过各种网关.路由器.交换机,最终访问到代码所在的Nginx服务器上. 3.Nginx解析URL,对于js.css.图片等静态资源,直接找到对应文件并返回:如果是php文件,由于Nginx本身不会处理p

优化页面访问速度(三) ——服务端优化

优化页面访问速度(三) ——服务端优化 一.概述 服务端的优化,主要可以通过消息队列.减少数据库请求(缓存).并发处理.页面静态化等方式处理. 二.消息队列 1.解决问题 消息队列(Message Queue,MQ)有许多不同的实现方式,可以用rabbitmq.activemq.rocketmq,也可以用任务分发系统gearman. 消息队列主要是解决消息的异步发送,即对于某个系统不需要关心的内容,只需要发布一个处理完毕的消息,带上一些参数,有需要的系统自行订阅.例如一些任务执行完成的回调函数,

优化页面访问速度(四) ——前端优化

优化页面访问速度(四) ——前端优化 一.概述 前端的优化,主要可以通过减少HTTP请求.非实时请求改异步.缓存.文件压缩.CDN加速.独立图片服务器等. 二.减少HTTP请求 1.HTTP开销 HTTP请求,需要耗费资源,主要包括域名解析.建立TCP连接.发送请求.等待处理结果.下载资源.解析请求等. 因此,减少HTTP请求,利于优化页面访问速度. 2.图片地图 对于多个图片,如连续的几个按钮,每个按钮都是一个小图片.如果逐个加载图片,则需要发送多个请求,分别获取这些图片文件. 这里,可以将这