http {
    server {
        ...
        location / {
            limit_rate 100k;  # 100 KB/s의 속도로 제한
        }
    }
}

 

요청에 대한 속도제한

 

 

 

http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

    server {
        ...
        location /api/ {
            limit_req zone=one burst=5 nodelay;
        }
    }
}

$binary_remote_addr : 클라이언트의 ip 주소를 기반으로 제한 설정 $remote_addr 보다 메모리 사용량이 적어서 효율적

 

zone=one:10m one이라는 이름의 메모리영역에 10MB의 메모리 할당

 

rate=1r/s 클라이언트당 요청 비율을 초당 1개로 설정 -> 이렇게 하면 각 ip 주소에서 /api/로 1초에 한 번만 요청을 허용

 

 

 

location /api/

/api/ 경로에 대한 설정

zone=one 을 참조하여 이 루트의 요청을 제어

burst=5 대기열 용량을 5개의 추가 요청으로 설정

nodelay 일반 상황이 아닌, 대기열에 요청이 밀려 있는 경우 바로바로 큐된 요청들을 처리한다

+ Recent posts