nginx 일부 UserAgent 차단, 미 친 파충류 근절

CPU 가 90% 까지 미 친 듯 이 올 라 가 WinHttp. WinHttpRequest 라 는 useragent 에 게 자주 소란 을 피 웠 기 때문에 이 useragent 를 차단 해 야 합 니 다. nginx 는 useragent 의 설정 을 다음 과 같이 차단 합 니 다.
        if ($http_user_agent ~* "WinHttp.WinHttpRequest") {
                return 403;
        }

이 문 구 는 정규 에 따라 일치 합 니 다. User Agent 가 WinHttp. WinHttpRequest 와 일치 하면 403 으로 되 돌아 갑 니 다. 여기 있 는 if 문 구 는 server 나 location 범위 에 두 어야 합 니 다. http 범위 에 두 면 안 됩 니 다.
이 설정 을 추가 하면 nginx -t 명령 을 통 해 설정 문법 에 문제 가 있 는 지 확인 할 수 있 습 니 다. 문제 가 없 으 면 nginx -s reload 을 통 해 설정 을 적용 할 수 있 습 니 다.
설정 이 성공 하면 아래 명령 을 통 해 설정 이 적용 되 었 는 지 확인 할 수 있 습 니 다.
curl -I -A "WinHttp.WinHttpRequest" www.xxx.com

다음 출력 으로 돌아 가면 설정 이 유효 합 니 다:
HTTP/1.1 403 ForbiddenServer: nginx/1.2.6Date: Sat, 04 May 2013 12:09:32 GMTContent-Type: text/htmlContent-Length: 168Connection: keep-aliveVary: Accept-Encoding

좋은 웹페이지 즐겨찾기