인터넷이 점차 대중화됨에 따라 많은 웹 애플리케이션이 다양한 환경과 시나리오에서 널리 사용되었습니다. 그러나 웹 애플리케이션의 경우 보안과 성능이 중요한 요소입니다. 이 기사에서는 Nginx에서 HTTP 액세스 제어 및 역방향 프록시 요청 제한을 사용하여 웹 애플리케이션의 보안 및 성능을 향상시키는 방법에 대해 설명합니다.
HTTP 액세스 제어
HTTP 액세스 제어를 통해 Nginx는 웹 서버에 대한 액세스를 제한하여 웹 애플리케이션의 보안을 향상시킬 수 있습니다. Nginx에서는 허용 및 거부 지시문을 사용하여 요청 제한을 수행할 수 있습니다.
allow 지시문을 사용하여 서버에 액세스할 수 있는 IP 주소 또는 네트워크 세그먼트를 지정할 수 있습니다. 예를 들어, 192.168.0.1 및 192.168.0.2에 대한 액세스를 허용하려면 Nginx 구성 파일에 다음 지시문을 추가할 수 있습니다.
location / { allow 192.168.0.1; allow 192.168.0.2; deny all; # ... }
거부 지시문을 사용하여 서버에 대한 액세스를 거부하는 IP 주소 또는 네트워크 세그먼트를 지정할 수 있습니다. . 예를 들어, 192.168.0.3에 대한 액세스를 거부하려면 허용 지시문 뒤에 다음 지시문을 추가할 수 있습니다.
location / { allow 192.168.0.1; allow 192.168.0.2; deny 192.168.0.3; deny all; # ... }
위 예에서 다른 모든 IP 주소는 서버에 대한 액세스가 거부됩니다.
허용 및 거부 지시문을 사용하는 것 외에도 Nginx는 웹 서버에 대한 액세스를 제어하기 위해 HTTP 인증 사용도 지원합니다. 이는 Nginx의 auth_basic 및 auth_basic_user_file 지시문을 사용하여 달성할 수 있습니다.
auth_basic 지시어는 인증이 필요한 영역을 정의하는 데 사용됩니다. 예:
location /protected/ { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; # ... }
HTTP 인증을 사용하려면 먼저 htpasswd 파일을 만들어야 합니다. 이 파일은 htpasswd 명령을 사용하여 생성할 수 있습니다. 예:
htpasswd -c /etc/nginx/.htpasswd alice
위의 예에서는 alice라는 사용자가 생성되어 인증에 사용됩니다. htpasswd는 사용자에게 비밀번호 프롬프트도 제공합니다. 사용자 alice의 비밀번호를 입력하고 비밀번호를 확인해야 합니다.
역방향 프록시 요청 제한
Nginx는 HTTP 액세스 제어 외에도 역방향 프록시 요청 제한을 통해 웹 애플리케이션의 성능을 제어할 수도 있습니다. 역방향 프록시 요청 조절은 Nginx가 악의적인 요청을 방지하기 위해 요청 빈도 제한을 설정할 수 있음을 의미합니다.
역방향 프록시 요청 제한을 사용하면 각 외부 IP 주소에 대한 요청 수를 제한할 수 있습니다. 예를 들어 Nginx 구성 파일에 다음 지시문을 추가할 수 있습니다.
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
위 지시문은 초당 10개의 요청으로 제한되는 1이라는 이름의 제한 영역을 생성합니다. 이 제한은 요청자의 IP 주소가 네트워크 세그먼트에 있는 경우에만 적용됩니다.
애플리케이션 요청에 대한 요청 빈도 제한을 적용하려면limit_req 지시어를 사용할 수 있습니다. 예:
location / { limit_req zone=one burst=5; # ... }
위 명령은 영역 1의 제한된 영역 내에서 요청 수를 제한하는 동시에 버스트 범위에 걸쳐 즉각적인 트래픽을 허용합니다. 순간 트래픽이 버스트 제한을 초과하면 요청 속도가 감소됩니다.
요약
웹 애플리케이션 개발 및 관리에서는 보안과 성능이 중요한 요소입니다. Nginx에서 HTTP 액세스 제어 및 역방향 프록시 요청 제한을 사용하면 웹 애플리케이션의 보안과 성능을 향상시켜 사용자 경험을 향상시킬 수 있습니다. Nginx는 기능이 풍부하고 사용자 정의가 가능하며 다양한 웹 애플리케이션의 요구 사항을 충족하는 데 사용할 수 있는 인기 있는 웹 서버이자 역방향 프록시입니다.
위 내용은 Nginx의 HTTP 액세스 제어 및 역방향 프록시 요청 제한의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!