2014-03-03 2 views
2

nginx를 사용하여 사용자 에이전트를 차단하는 방법은 무엇입니까?nginx 설정에서 특정 사용자 에이전트를 차단하는 방법

if ($http_user_agent = "Mozilla/5.0 (Linux; Android 4.2.2; SGH-M919 Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.169 Mobile Safari/537.22") { 
return 403;} 

는이 스택 오버 플로우에 비슷한 스레드에서입니다 : 지금까지 나는 이런 식으로 뭔가가있다.

cherrypy 서버용 리버스 프록시로 nginx를 실행합니다. 나 혼자 nginx를 사용하여 특정 사용자 에이전트를 필터링하려는 위의 코드는 내 서버에서 작동하지 않습니다.

이 작업을 수행하는 올바른 방법입니까? nginx 구성의 모든 블록에 포함되지 않았습니다. 나는 "HTTP"블록 또는 I는 "서버"블록이 코드에 포함 된 특정 사용자 에이전트 차단하기 위해서 "서버"블록

+0

어디에서 사용해 보았습니까? 당신은 그것이 작동하지 않는다고 말했다. –

+0

나는 당신이 찾는 정보를 포함하도록 게시물을 편집했다. 감사. – lordzouga

+0

문서 http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#if에 따르면 'if'컨텍스트가 위치 또는 서버 안에 있으므로 원하는 경우 서버 블록이나 내부 위치에 추가하십시오. 특정 위치에서만 발생하는 'if'. –

답변

3

에 추가해야 :

if ($http_user_agent = "Mozilla/5.0 (Linux; Android 4.2.2; SGH-M919 Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.169 Mobile Safari/537.22"){ 
    return 403; 
} 

을 그리고로 일했다 예상했다.

관련 문제