DDOS 방어는 공격 유형이 다양하고 방어 비용이 높으며 병목 현상이 많습니다. DDOS의 특징은 분산되어 있으며 대역폭 및 서비스 공격, 즉 레이어 4 트래픽 공격과 레이어 7 애플리케이션 공격을 목표로 한다는 것입니다. 레이어 4의 해당 방어 병목 현상은 대역폭이며 레이어 7은 대부분 아키텍처의 처리량에 있습니다. . 레이어 7 애플리케이션 공격의 경우에도 이를 방어하기 위한 몇 가지 구성을 만들 수 있습니다.
예를 들어프론트엔드는 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 섹션에서 트리거 조건을 정의합니다. 여러 조건이 있을 수 있습니다.
위치에서 트리거 조건이 충족될 때 nginx가 수행할 작업을 정의합니다.
For 예:
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에서 DDoS 공격을 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

本篇文章给大家带来了关于nginx的相关知识,其中主要介绍了nginx拦截爬虫相关的,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

高并发系统有三把利器:缓存、降级和限流;限流的目的是通过对并发访问/请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页)、排队等待(秒杀)、降级(返回兜底数据或默认数据);高并发系统常见的限流有:限制总并发数(数据库连接池)、限制瞬时并发数(如nginx的limit_conn模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(nginx的limit_req模块,用来限制每秒的平均速率);另外还可以根据网络连接数、网络流量、cpu或内存负载等来限流。1.限流算法最简单粗暴的

nginx php403错误的解决办法:1、修改文件权限或开启selinux;2、修改php-fpm.conf,加入需要的文件扩展名;3、修改php.ini内容为“cgi.fix_pathinfo = 0”;4、重启php-fpm即可。

实验环境前端nginx:ip192.168.6.242,对后端的wordpress网站做反向代理实现复杂均衡后端nginx:ip192.168.6.36,192.168.6.205都部署wordpress,并使用相同的数据库1、在后端的两个wordpress上配置rsync+inotify,两服务器都开启rsync服务,并且通过inotify分别向对方同步数据下面配置192.168.6.205这台服务器vim/etc/rsyncd.confuid=nginxgid=nginxport=873ho

跨域是开发中经常会遇到的一个场景,也是面试中经常会讨论的一个问题。掌握常见的跨域解决方案及其背后的原理,不仅可以提高我们的开发效率,还能在面试中表现的更加

linux版本:64位centos6.4nginx版本:nginx1.8.0php版本:php5.5.28&php5.4.44注意假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不同安装目录即可。安装php#wgethttp://cn2.php.net/get/php-5.4.44.tar.gz/from/this/mirror#tarzxvfphp-5.4.44.tar.gz#cdphp-5.4.44#./configure--pr

nginx部署react刷新404的解决办法:1、修改Nginx配置为“server {listen 80;server_name https://www.xxx.com;location / {root xxx;index index.html index.htm;...}”;2、刷新路由,按当前路径去nginx加载页面即可。

nginx禁止访问php的方法:1、配置nginx,禁止解析指定目录下的指定程序;2、将“location ~^/images/.*\.(php|php5|sh|pl|py)${deny all...}”语句放置在server标签内即可。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

뜨거운 주제



