网站,尤其是流量大、知名的网站,经常会面临攻击,比如DDOS攻击,虽然Cloudflare等一些第三方可以拦截,但对于动态网站PHP只能拦截一部分。 目前需要限制单一IP的恶意攻击流量。 两个nginx模块可以限制流量。
nginx的两个限流器模块:
连接频率限制,ngx_http_limit_conn_module:官方文档:http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
请求频率限制,ngx_http_limit_req_module:官方文档:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
网上有很多理论,从名称:
当然,如果你还是不明白,我们通俗地讲一下(相对于时间而言):
比如闪购、抢购、连接频率limits和限制请求频率应该一起使用使用连接频率限制对同一个IP同时有3个连接,然后使用请求频率限制将来自的请求的平均速率限制为5个请求/秒。 同一个IP比只使用一个限制要好得多。
例如,仅使用请求频率限制,可以限制完全相同的IP每秒只能发起5个http请求,如果同一个IP在1秒内发起10万个请求,即使只限制5个响应成功了。 ,但是其他99995个TCP握手请求使用服务器资源建立http连接难道还需要一起使用吗?
1.limit_req_zone,示例:
2limit_conn_zone,示例:
3一起使用
ab是apache自带的压力测试工具。 一般情况下不需要额外安装。 它不仅可以对Apache服务器进行网站访问压力测试,还可以对其他类型的服务器进行压力测试。 如nginx、tomcat、IIS等。
测试说明
2.Wrk命令
需要自己安装,地址:http://github。 com/wg/wrk
安装
测试说明:
还有其他压测工具,请自行研究
上一篇:nginx启动后无法访问80端口
下一篇:局域网无法访问另一台电脑