nginx 속도 제한 화이트 리스트 설정

'nginx 제한 연결 수 ngx http limit conn module 모듈' 과 'nginx 제한 요청 수 ngx http limit req module 모듈' 에 서 는 모든 IP 를 제한 합 니 다.어떤 상황 에서 우 리 는 자신의 반 세대 서버 IP, 회사 IP 등 일부 IP 를 제한 하고 싶 지 않다.화이트 리스트 가 필요 하 다. 특정 IP 를 화이트 리스트 에 넣 어야 한다.다음은 nginx 화이트 리스트 의 실현 방법 을 살 펴 보 겠 습 니 다. geo 와 map 명령 을 결합 하여 이 루어 져 야 합 니 다.geo 와 map 명령 사용 방법 은 다음 글 을 참조 합 니 다.'nginx geo 사용법' 과 'nginx map 사용법'.허튼소리 하지 말고 설정 을 봐 라.
http {
	geo $whiteiplist  {
		default 1;
		127.0.0.1 0;
		10.0.0.0/8 0;
		121.207.242.0/24 0;
	}

	map $whiteiplist  $limit {
		1 $binary_remote_addr;
		0 "";
	}

	limit_conn_zone $limit zone=limit:10m;

	server {
        listen       8080;
        server_name  test.ttlsa.com;

        location ^~ /ttlsa.com/ {
                limit_conn limit 4;
                limit_rate 200k;
                alias /data/www.ttlsa.com/data/download/;
        }
	}
}
기술 요점: 1. geo 명령 은 화이트 리스트 $whiteiplist 를 정의 하고 기본 값 은 1 이 며 모든 것 이 제한 되 어 있 습 니 다.클 라 이언 트 IP 가 화이트 리스트 에 있 는 IP 와 일치 하면 $whiteiplist 값 이 0 이면 제한 을 받 지 않 습 니 다.2. map 명령 은 $whiteiplist 값 을 1 로 합 니 다. 즉, 제 한 된 IP 를 클 라 이언 트 IP 로 매 핑 합 니 다.$whiteiplist 값 을 0 으로 표시 합 니 다. 즉, 화이트 리스트 IP 입 니 다. 빈 문자열 로 표시 합 니 다.3. limit_conn_zone 과 limitreq_zone 명령 은 키 가 비어 있 는 값 에 대해 무시 되 고 열 거 된 IP 에 제한 을 두 지 않 습 니 다.테스트 방법:
# ab -c 100 -n 300 http://test.ttlsa.com:8080/ttlsa.com/docs/pdf/nginx_guide.pdf
전재 가 필요 하 시 면 출처 를 밝 혀 주 십시오.http://www.ttlsa.com/html/3230.html

좋은 웹페이지 즐겨찾기