nginx服务器如何防止被攻击

2024-10-12 20:51:32

nginx服务器部署后,在面对DDoS常见攻击时需要做好以下防范措施。

限制每秒访问数

1、ngx_http_limit_req_module模块通过漏桶原理来限制单位时间内的请求数,一旦单位时间内请求数超过限制,就会返回503错误。配置需要在两个地方设置:

nginx服务器如何防止被攻击

白名单设置

1、http_limit_conn 和http_limit_req模块限制了单ip单位时间内的并发和请求数,但是如果Nginx前面有lvs或者茑霁酌绡haproxy之类的负载均衡或者反向代 理,nginx获取的都是来自负载均衡的连接或请求,这时不应该限制负载均衡的连接和请求,就需要geo和map模块设置白名单:

nginx服务器如何防止被攻击

测试

1、使用ab命令来模拟CC攻击,http_limit_conn 和http_limit_req模块要分开测试,同时注意http_limit_con荏鱿胫协n模块只统计正在被处理的请求(这些请求的头信息已被完全读入)所 在的连接。如果请求已经处理完,连接没有被关闭时,是不会被统计的。这时用netstat看到连接数可以超过限定的数量,不会被阻止。举例:ab -n 请求数 -c 并发 http://10.11.15.174/i.php

猜你喜欢