nginx怎么防ddos攻击


当前第2页 返回上一页

nginx.conf的http段内定义触发条件,可以有多个条件
在location内定义达到触发条件时nginx所要执行的动作
例如:

1

2

3

4

5

6

7

8

http {

    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; //触发条件,所有访问ip 限制每秒10个请求    ...

    server {        ...

        location  ~ \.php$ {

            limit_req zone=one burst=5 nodelay;   //执行的动作,通过zone名字对应

               }

           }

     }

参数说明:

1

2

3

4

5

$binary_remote_addr  二进制远程地址

zone=one:10m    定义zone名字叫one,并为这个zone分配10M内存,用来存储会话(二进制远程地址),1m内存可以保存16000会话

rate=10r/s;     限制频率为每秒10个请求

burst=5         允许超过频率限制的请求数不多于5个,假设1、2、3、4秒请求为每秒9个,那么第5秒内请求15个是允许的,反之,如果第一秒内请求15个,会将5个请求放到第二秒,第二秒内超过10的请求直接503,类似多秒内平均速率限制。

nodelay         超过的请求不被延迟处理,设置后15个请求在1秒内处理。

限制IP连接数
ngx_http_limit_conn_module的配置方法和参数与http_limit_req模块很像,参数少,要简单很多

1

2

3

4

5

6

7

8

http {

    limit_conn_zone $binary_remote_addr zone=addr:10m; //触发条件    ...

    server {        ...

        location /download/ {

            limit_conn addr 1;    // 限制同一时间内1个连接,超出的连接返回503

                }

           }

     }

更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!

以上就是nginx怎么防ddos攻击的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

nginx如何共享session

nginx location是什么

nginx配置支持php-fpm

nginx是什么,做什么用的?

nginx热更新是什么意思

如何将nginx注册为服务

nginx可以集群吗

编译过的nginx如何添加新模块

nginx设置仅允许个别ip访问的方法

如何开启或禁用nginx缓存

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...