NGINX限速 实际生产问题
来源:3-14 Nginx作为代理服务_配置语法及反向代理场景
苦瓜苦也
2018-11-12
1)当你使用连接限制,如果设置的连接限制num 是1,即limit_conn zone相关参数配置实现。这个时候一个公司用的是nat映射。内网有200个用户,都是通过一个公网IP映射出去的。这样在理论上面同一个时刻就会有199个拒绝?老师的文档说这个时刻的精度精确到毫秒级,真到了毫毛级,那也只能防护毫秒级上面相等的大并发恶意攻击?
2)对于请求的限制。如果采取的是1r/s的策略,如果一个用户去get一个网页,把网页里面的大体框架下来以后,那他这个页面里面的其他多连接也需要建立tcp握手和资源请求。这个时候的,1r/s的要求满足不了网页的请求,会不会造成页面无法正常显示?
1回答
-
1)当你使用连接限制,如果设置的连接限制num 是1,即limit_conn zone相关参数配置实现。这个时候一个公司用的是nat映射。内网有200个用户,都是通过一个公网IP映射出去的。这样在理论上面同一个时刻就会有199个拒绝?老师的文档说这个时刻的精度精确到毫秒级,真到了毫毛级,那也只能防护毫秒级上面相等的大并发恶意攻击?
是的,这种限流方式对于这种场景是有一定的误杀比例的,基于binary_addr并不算一种非常好的方式,如果是http的请求,可以基于会话来限制。
2)对于请求的限制。如果采取的是1r/s的策略,如果一个用户去get一个网页,把网页里面的大体框架下来以后,那他这个页面里面的其他多连接也需要建立tcp握手和资源请求。这个时候的,1r/s的要求满足不了网页的请求,会不会造成页面无法正常显示?
如果是基于请求的连接限制的话,是有可能的。但如果总体访问量不高,不会出现网页无法显示,因为默认的Nginx限流机制基于漏筒原理,请求会阻塞一下,慢一些
012018-11-13
相似问题