>운영 및 유지보수 >엔진스 >Nginx 서버가 ip 및 user_gent로 액세스를 제한하는 방법

Nginx 서버가 ip 및 user_gent로 액세스를 제한하는 방법

王林
王林앞으로
2023-06-04 21:40:031396검색

DDoS 공격은 대규모 웹사이트에 접속할 때 흔히 발생하는 문제입니다. 누군가가 프로그램을 통해 사이트의 특정 페이지를 악의적으로 브러싱하여 사이트의 응답 속도를 느리게 하거나 직접적으로 서비스를 거부하는 것을 말합니다.

이 상황은 nginx의 액세스 로그를 분석하면 알 수 있습니다. 동일한 IP 또는 user_agent에 대한 요청이 많으므로 요청의 유사성을 기반으로 nginx 수준에서 이러한 액세스 요청을 직접 필터링할 수 있습니다.

IP로 접근 제한

nginx의 접근 제어 모듈 관련 문서

접근 제어는 거부 명령을 통해 접근을 거부하고, 허용 명령을 통해 접근을 허용할 수 있습니다.

거부 및 허용 규칙이 여러 개 있는 경우 해당 규칙이 나타납니다.

고정 IP 거부

deny 192.168.1.12;

IP 네트워크 세그먼트 거부

deny 192.168.1.0/24;

인트라넷 액세스만 허용

allow 192.168.1.0/24;
deny all;

user_agent를 통한 액세스 제한

nginx에는 특별한 제한 지침이 없습니다. user_agent가 있습니다 ngin x in $http_user_agent 변수를 통해 액세스할 수 있습니다. if 명령어를 사용하여 user_agent에 대해 정기적인 일치를 수행하면 액세스를 거부할 수 있습니다.

nginx의 if 명령어는 다시 쓰기 모듈에 자세히 소개되어 있습니다.

user_agent

if ($http_user_agent ~ "^apache.*java"){
  return 403;
}
를 통해 jmeter 테스트 도구에 대한 액세스를 제한하세요.

위 내용은 Nginx 서버가 ip 및 user_gent로 액세스를 제한하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제