nginx怎么防ddos攻击
发布时间 - 2019-06-06 00:00:00 点击率:次防御ddos是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈。ddos的特点是分布式,针对带宽和服务攻击,也就 是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架构的吞吐量。对于七层的应用攻击,我们还是可以做一些配置来防御的。
例如前端是Nginx,主要使用nginx的http_limit_conn和http_limit_req模块来防御。 ngx_http_limit_conn_module 可以限制单个IP的连接数,ngx_http_limit_req_module可以限制单个IP每秒请求数,通过限制连接数和请求数能相对有效的防御CC攻击。
下面是配置方法:
限制每秒请求数
ngx_http_limit_req_module模块通过漏桶原理来限制单位时间内的请求数,一旦单位时间内请求数超过限制,就会返回503错误。配置需要在两个地方设置:
nginx.conf的http段内定义触发条件,可以有多个条件
在location内定义达到触发条件时nginx所要执行的动作
例如:
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名字对应
}
}
}参数说明:
$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模块很像,参数少,要简单很多
http {
limit_conn_zone $binary_remote_addr zone=addr:10m; //触发条件 ...
server { ...
location /download/ {
limit_conn addr 1; // 限制同一时间内1个连接,超出的连接返回503
}
}
}更多Nginx相关技术文章,请访问Nginx使用教
程栏目进行学习!
# nginx
# 架构
# 分布式
# location
# http
# ddos
# 七层
# 连接数
# 时间内
# 四层
# 是一个
# 就会
# 也就
# 多个
# 不被
# 所要
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
nginx修改上传文件大小限制的方法
Laravel如何为API生成Swagger或OpenAPI文档
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Laravel如何使用Gate和Policy进行授权?(权限控制)
如何在 Pandas 中基于一列条件计算另一列的分组均值
详解Huffman编码算法之Java实现
如何在腾讯云服务器快速搭建个人网站?
大同网页,大同瑞慈医院官网?
青岛网站建设如何选择本地服务器?
javascript中的try catch异常捕获机制用法分析
使用Dockerfile构建java web环境
无锡营销型网站制作公司,无锡网选车牌流程?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何用PHP快速搭建高效网站?分步指南
如何自定义建站之星网站的导航菜单样式?
如何破解联通资金短缺导致的基站建设难题?
香港服务器租用每月最低只需15元?
高防服务器租用指南:配置选择与快速部署攻略
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
如何选择可靠的免备案建站服务器?
Python自动化办公教程_ExcelWordPDF批量处理案例
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
如何获取免费开源的自助建站系统源码?
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
如何快速查询域名建站关键信息?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何用西部建站助手快速创建专业网站?
jQuery 常见小例汇总
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
如何用虚拟主机快速搭建网站?详细步骤解析
Laravel如何为API编写文档_Laravel API文档生成与维护方法
如何在服务器上三步完成建站并提升流量?
JavaScript如何实现倒计时_时间函数如何精确控制
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
网站制作大概多少钱一个,做一个平台网站大概多少钱?
详解CentOS6.5 安装 MySQL5.1.71的方法
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何快速登录WAP自助建站平台?
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
如何快速选择适合个人网站的云服务器配置?
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何在建站宝盒中设置产品搜索功能?
C++时间戳转换成日期时间的步骤和示例代码
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
如何在阿里云虚拟主机上快速搭建个人网站?

