>백엔드 개발 >PHP 튜토리얼 >nginx 연결 수 제한 (ngx_http_limit_conn_module) 모듈 nginx concat 모듈 echo nginx 모듈 nginx upsync 모듈

nginx 연결 수 제한 (ngx_http_limit_conn_module) 모듈 nginx concat 모듈 echo nginx 모듈 nginx upsync 모듈

WBOY
WBOY원래의
2016-07-29 08:54:591120검색

ngx_http_limit_conn_module은 비정상적인 트래픽, 과도한 부하 또는 대규모 트래픽의 악의적인 공격 액세스가 있는 일부 서버에 대해 동시성 수를 제한합니다. 이 모듈은 정의된 키만을 기준으로 각 키 값에 대한 연결 수를 제한할 수 있습니다. 요청이 처리 중인 연결(헤더 정보가 완전히 읽혀진 연결)이 계산됩니다.

이 모듈은limit_conn_zone과limit_conn이라는 두 가지 구성 매개변수를 제공합니다. Limit_conn_zone은 http{} 섹션에서만 구성할 수 있는 반면,limit_conn은 http{}, server{} 및 location{} 섹션에서 구성할 수 있습니다. .


1.limit_conn_zone

구문:limit_conn_zone $variablez
구성 섹션: http

이 지시문은 세션 상태 저장 영역을 설명합니다. 현재 연결 수는 키 상태에 저장되며, 키 값은 특정 변수의 null이 아닌 값일 수 있습니다(null 값은 고려되지 않음). $variable은 키를 정의하고, z는 영역 이름을 정의하며, 주요 기능은 뒤에 오는 Limit_conn입니다. size는 다음과 같이 각 키에 대한 공유 메모리 공간의 크기를 정의합니다.

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul

참고:

클라이언트의 IP 주소가 키로 사용됩니다. . 여기서는 remote_addr 변수가 아닌 Binary_remote_addr 변수가 사용된다는 점에 유의하세요.
Remote_addr 변수의 길이 범위는 7바이트에서 15바이트이며, 저장 상태는 32비트 플랫폼에서는 32바이트 또는 64바이트, 64비트 플랫폼에서는 64바이트를 차지합니다.
Binary_remote_addr 변수의 길이는 4바이트로 고정되어 있으며, 저장 상태는 32비트 플랫폼에서는 32바이트, 64바이트, 64비트 플랫폼에서는 64바이트를 차지합니다.
1M 공유 공간은 32,000개의 32비트 상태와 16,000개의 64비트 상태를 저장할 수 있습니다.
공유 메모리 공간이 소진되면 서버는 모든 후속 요청에 대해 503(서비스를 일시적으로 사용할 수 없음) 오류를 반환합니다.


2.limit_conn

구문:limit_conn zone_name번호
구성 섹션: http, 서버, 위치

이 지시문은 주어진 각 키 값에 대한 최대 동시 연결 수를 지정합니다. 이 수를 초과하면 503(서비스) 오류가 반환됩니다. 예(동일 IP는 동시에 20개만 연결 가능):

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul


3. 구성 사용 예시

limit_conn_zone $ 바이너리_원격_주소 z
주로 변수, 영역 이름, 공유 메모리 크기를 정의하는 데 사용됩니다.

limit_conn showjoy_conn
앞서 정의한 showjoy_conn을 설정하고 동일 IP에 대한 동시 접속 수를 20개로 제한

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul


4. 사용 시 주의 사항

트랜잭션에는 의 양면. ngx_http_limit_conn_module 모듈은 현재 동시성 문제를 해결할 수 있지만 다른 문제를 야기합니다. 예를 들어 프런트엔드가 LVS나 역생성 기능을 하고 우리 백엔드가 이 모듈 기능을 활성화한다면 503 오류가 많이 발생하지 않을까? 이 경우 프런트 엔드에서 모듈을 활성화하거나 화이트리스트를 설정할 수 있습니다.

모듈 주소: https://yunpan.cn/cqSKP6BrJ2AeT 접속 비밀번호 4f50

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위에서는 모듈과 nginx 내용을 포함하여 nginx 제한 연결 수(ngx_http_limit_conn_module) 모듈을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.