NGINX 의 흐름 제한 사고
2615 단어 NGINX
nginx 의 흐름 제한 전략 은 여러 가지 가 있 습 니 다. 다음은 흔히 볼 수 있 는 집중 흐름 제한 전략 에 대해 이야기 하 겠 습 니 다.
1. 고정 IP 에 대해 흐름 을 제한 합 니 다. 이러한 전략 은 주로 같은 IP 반복 요청 서버 에 사 용 됩 니 다. 홍수 공격 이나 DDoS 공격 과 유사 하여 단일 ID 를 제한 하면 효과 적 입 니 다.
단일 IP 에 대한 제한 설정
vim nginx.conf
http
limit_zone one $binary_remote_addr 30m;
limit_req_zone $binary_remote_addr zone=req_one:30m rate=10r/s;
limit_zone 은 모든 IP 에 session 공간 을 할당 하 는데 총 공간 크기 는 30m 입 니 다. 원 은 이름 을 정 의 했 습 니 다. $bin_remote_add 는 IP 주소 입 니 다.
limit_req_zone 은 요청 빈 도 를 제한 합 니 다. 10 req / second 의 IP 접근 허용
2. IP 제한 병행 요청
limit_conn perip 8;
limit_req zone=perreq nodelay;
이것 은 IP 병발 최대 8 개 병발 요청 같은 IP 를 설정 하 는 것 입 니 다.3. 화이트 리스트 설정
화이트 리스트 의 역할 은 특정한 IP 에 대해 요청 제한 을 하지 않 는 것 이다. 예 를 들 어 우리 자신의 IP 나 회사 내부 네트워크 의 IP 등 이다.
geo $whiteiplist {
default 1; ---- key=default, value=1
include conf/whiteip.conf;
}
map $whiteiplist $limit {
1 $binary_remote_addr; --- value=1 $binary_remote_addr IP
0 "";
}
화이트 리스트 는 conf / whiteip. conf 파일 에 있 습 니 다. whiteip. conf 의 형식 key value 형식 입 니 다. 특정한 IP 가 빈 문자열 에 투사 할 수 있 습 니 다. 그러면 제한 작업 을 하지 않 습 니 다.
화이트 리스트 를 설정 하 는 방법 은 홈 페이지 에 상세 하 게 설명 되 어 있 으 니 여 기 를 보 세 요.
GEO 사용법 MAP 사용법
4. 부하 균형 도 한 가지 라 고 할 수 있 습 니 다. 물론 그 는 자신의 유량 을 다른 기계 에 쏟 았 을 뿐 입 니 다.
nginx 의 부하 균형 설정 필드 는 upstream 입 니 다.
upstream lvs {
server localhost:8088 ;
server 192.168.1.123:8080 down;
server abc.tmc weight=2;
server server:9000 backup;
}
server , lvs
server {
listen 80;
location / {
proxy_pass http://lvs;
}
server_name my_proxy;
}
upstream 설정 을 조금 설명 하 겠 습 니 다.
1. 다운 은 이 서버 가 부하 균형 에 참여 하지 않 음 을 나타 낸다.
2. weight 기본 값 은 1 이 며, weight 값 이 클 수록 할당 요청 이 많 습 니 다.
3. max_fails 가 요청 한 최대 실패 수 를 허용 합 니 다. 최대 횟수 초과 시, proxy 로 돌아 가기next_upstream 모듈 정의 오류
4. fail_timeout: 몇 번 실 패 했 는 지 표시 한 후에 응답 하지 않 습 니 다.
5. back_up: 예비 기, 다른 기기 가 바 쁘 거나 끊 으 면 backup 기기 에 접근 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nginx access 로그 최적화1. 로그 절단 설정 2. 필요 하지 않 은 방문 로 그 를 기록 하지 않 습 니 다. 3. 로그 에 접근 할 수 있 는 권한 설정...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.