nginx 제한 연결 수 ngxhttp_limit_conn_모듈 모듈
2. ngxhttp_limit_conn_module 명령 해석 limitconn_zone 문법: limitconn_zone $variable zone=name:size;기본 값: none 설정 세그먼트: http 이 명령 은 세 션 상태 저장 영역 을 설명 합 니 다.키 의 상태 에 현재 연결 수 를 저장 합 니 다. 키 의 값 은 특정 변수의 비 어 있 는 값 일 수 있 습 니 다. (빈 값 은 고려 되 지 않 습 니 다) $variable 정의 키, zone = name 정의 영역 이름, 뒤의 limitconn 명령 이 사 용 될 겁 니 다.size 는 각 키 의 공유 메모리 공간 크기 를 정의 합 니 다.예:
?
1
limit_conn_zone $binary_remote_addr zone=addr:10m;
설명: 클 라 이언 트 의 IP 주 소 를 키 로 합 니 다.주의 하 세 요. 여 기 는 $biary 를 사용 합 니 다.remote_addr 변 수 는 $remote 가 아 닙 니 다.addr 변수 입 니 다. $remote_addr 변수의 길 이 는 7 바이트 에서 15 바이트 이 고 저장 상 태 는 32 비트 플랫폼 에서 32 바이트 또는 64 바이트 를 차지 하 며 64 비트 플랫폼 에서 64 바이트 를 차지 합 니 다. $binary_remote_addr 변수의 길 이 는 고정된 4 바이트 이 고 저장 상 태 는 32 비트 플랫폼 에서 32 바이트 나 64 바이트 를 차지 하 며 64 비트 플랫폼 에서 64 바이트 를 차지한다.1M 공유 공간 은 32 비트 상태 3 만 2 천 개, 64 비트 상태 1 만 6 천 개 를 저장 할 수 있다.공유 메모리 공간 이 소 진 되면 서버 는 후속 모든 요청 에 503 (Service Temporarily Unavailable) 오 류 를 되 돌려 줍 니 다.limit_zone 명령 과 limitconn_zone 명령 은 같은 뜻 으로 이미 버 려 졌 으 니 더 이상 설명 하지 않 겠 습 니 다.
limit_conn_log_level 문법: limitconn_log_level info | notice | warn | error 기본 값: error 설정 단계: http, server, location 최대 제한 연결 수 에 도달 하면 로그 의 등급 을 기록 합 니 다.
limit_conn 문법: limitconn zone_name number 기본 값: none 설정 세그먼트: http, server, location 은 주어진 키 의 최대 동시 연결 수 를 지정 합 니 다. 이 숫자 를 초과 할 때 503 (Service Temporarily Unavailable) 오 류 를 되 돌려 줍 니 다.예:
?
1
2
3
4
5
6
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
location
/www
.ttlsa.com/ {
limit_conn addr 1;
}
}
같은 IP, 같은 시간 에 한 개의 연결 만 허용 합 니 다.여러 limitconn 명령 이 설정 되 었 을 때 모든 연결 수 제한 이 적 용 됩 니 다.예 를 들 어 아래 설정 은 단일 IP 소스 의 연결 수 를 제한 할 뿐만 아니 라 단일 가상 서버 의 총 연결 수도 제한 합 니 다.
?
1
2
3
4
5
6 limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server {
limit_conn perip 10;
limit_conn perserver 100;
}
limit_conn 명령 은 상부 에서 물 려 받 을 수 있다.
limit_conn_status 문법: limitconn_status code;기본 값: limitconn_status 503;설정 세그먼트: http, server, location 은 1.3.15 버 전에 서 도입 할 것 을 지정 합 니 다.제한 을 초과 할 때 되 돌아 오 는 상태 코드 를 지정 합 니 다.기본 값 은 503.
limit_rate 문법: limitrate rate 기본 값: 0 설정 세그먼트: http, server, location, if in location 은 모든 연결 속도 에 제한 을 줍 니 다.매개 변수 rate 의 단 위 는 바이트 / 초 이 며 0 으로 설정 하면 제한 속 도 를 닫 습 니 다.IP 로 제한 하 는 것 이 아니 라 연결 속도 에 따라 제한 합 니 다. 따라서 특정한 클 라 이언 트 가 두 개의 연결 을 동시에 열 면 클 라 이언 트 의 전체 속 도 는 이 명령 설정 값 의 2 배 입 니 다.
3. 전체 인 스 턴 스 설정
?
1
2
3
4
5
6
7
8
9
10
11
12 http {
limit_conn_zone $binary_remote_addr zone=limit:10m;
limit_conn_log_level info;
server {
location ^~
/download/
{
limit_conn limit 4;
limit_rate 200k;
alias
/data/www
.ttlsa.com
/download/
;
}
}
}
4. 사용 주의사항 은 모두 양면성 을 가진다.ngx_http_limit_conn_module 모듈 은 현재 직면 하고 있 는 병발 문 제 를 해결 할 수 있 지만 다른 문 제 를 도입 할 것 입 니 다.예 를 들 어 전단 에 LVS 나 반 대 를 하 는 것 이 있 고 우리 백 엔 드 에서 이 모듈 기능 을 사용 하면 503 오류 가 매우 많 지 않 습 니까?이렇게 하면 전단 에서 이 모듈 을 사용 하거나 화이트 리스트 를 설정 하거나 화이트 리스트 설정 은 후속 문 서 를 참고 하여 독자 들 이 참고 할 수 있 도록 정리 할 수 있 습 니 다.ngxhttp_limit_req_module 모듈 을 결합 하여 사용 하면 가장 좋 은 효 과 를 얻 을 수 있 습 니 다.'nginx 제한 요청 수 ngx http limit req module 모듈'.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
집 서버 설계 (하드웨어 편)자신의 Redmine이나 ownCloud를 운용하기 위해 사쿠라 VPS, DigitalOcean, OpenShift 등을 놀랐습니다만, 침착 해 왔으므로 현상을 정리하고 싶습니다. 먼저 하드웨어 구성을 정리합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.