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 중국어 웹사이트의 기타 관련 기사를 참조하세요!