>운영 및 유지보수 >엔진스 >Nginx 역방향 프록시의 액세스 제어 및 흐름 제어 적용

Nginx 역방향 프록시의 액세스 제어 및 흐름 제어 적용

WBOY
WBOY원래의
2023-06-10 18:58:401337검색

Nginx는 리버스 프록시 서버로도 널리 사용되는 고성능 오픈 소스 다목적 웹 서버입니다. 역방향 프록시 서버는 로드 밸런싱, 고가용성, 액세스 제어 및 트래픽 제어와 같은 기능을 제공하는 데 사용될 수 있습니다. 이 기사에서는 Nginx 리버스 프록시의 액세스 제어 및 흐름 제어 적용을 소개합니다.

1. 액세스 제어

  1. IP 주소 블랙리스트/화이트리스트

Nginx는 IP 주소 블랙리스트 또는 화이트리스트를 구성하여 요청에 대한 액세스 제어를 구현할 수 있습니다. 블랙리스트에 있는 IP 주소는 접근이 거부되고, 화이트리스트에 있는 IP 주소에는 접근이 허용됩니다. 예를 들어 Nginx 구성 파일에 다음 코드를 추가할 수 있습니다.

# IP地址黑名单
location / {
    deny 192.168.1.1;
    deny 192.168.1.2;
    allow all;
}

# IP地址白名单
location / {
    deny all;
    allow 192.168.1.1;
    allow 192.168.1.2;
}
  1. 사용자 인증 기반 액세스 제어

Nginx는 nginx-http-auth-digest 모듈을 통해 사용자 인증 기반 액세스 제어를 구현할 수도 있습니다. 예를 들어 Nginx 구성 파일에 다음 코드를 추가할 수 있습니다.

# 用户认证
location / {
    auth_digest "Enter username and password";
    auth_digest_user_file /etc/nginx/user.passwd;
}

여기서 /etc/nginx/user.passwd는 사용자 이름과 비밀번호를 저장하는 파일입니다. 구성이 완료된 후 사용자는 Nginx 역방향 프록시 서버에 액세스하려면 사용자 이름과 비밀번호를 입력해야 합니다.

2. 흐름 제어

1. 요청 속도 제한

Nginx는 ngx_http_limit_req_module 모듈을 통해 요청 속도를 제한할 수 있습니다. 예를 들어 Nginx 구성 파일에 다음 코드를 추가할 수 있습니다.

# 限制请求速率
http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    server {
        location / {
            limit_req zone=one burst=5;
        }
    }
}

여기서 rate=1r/s는 초당 하나의 요청만 허용됨을 의미하고 Burst=5는 응답으로 5개의 요청 버스트가 허용됨을 의미합니다. . 요청 속도를 제한하는 이 방법은 악의적인 사용자가 대량의 요청을 보내 서버 리소스를 소비하는 것을 방지합니다.

2. 연결 속도 제한

Nginx는 ngx_http_limit_conn_module 모듈을 통해 연결 속도를 제한할 수 있습니다. 예를 들어 Nginx 구성 파일에 다음 코드를 추가할 수 있습니다.

# 限制连接速率
http {
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    server {
        location / {
            limit_conn addr 10;
        }
    }
}

여기서limit_conn_zone은 연결 속도 제한에 대한 공유 스토리지 영역을 정의하는 데 사용되고,limit_conn은 IP 주소당 최대 연결 수를 제한하는 데 사용됩니다. 연결 속도를 제한하는 이 방법은 악의적인 사용자가 많은 수의 연결을 독점하여 서비스를 거부하는 것을 방지합니다.

요약

Nginx 리버스 프록시 서버는 액세스 제어 및 흐름 제어에 강력한 애플리케이션 기능을 갖추고 있으며, IP 주소 블랙리스트/화이트리스트, 사용자 인증, 요청 속도 제한 및 연결 속도 제어를 통해 요청을 구현할 수 있습니다. 이러한 방법을 사용하면 서버 리소스를 효과적으로 보호하고 서비스 가용성과 보안을 향상시킬 수 있습니다.

위 내용은 Nginx 역방향 프록시의 액세스 제어 및 흐름 제어 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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