Nginx는 리버스 프록시 서버로도 널리 사용되는 고성능 오픈 소스 다목적 웹 서버입니다. 역방향 프록시 서버는 로드 밸런싱, 고가용성, 액세스 제어 및 트래픽 제어와 같은 기능을 제공하는 데 사용될 수 있습니다. 이 기사에서는 Nginx 리버스 프록시의 액세스 제어 및 흐름 제어 적용을 소개합니다.
1. 액세스 제어
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; }
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!