> 운영 및 유지보수 > 엔진스 > Nginx에서 특정 사용자 에이전트를 가로채는 방법

Nginx에서 특정 사용자 에이전트를 가로채는 방법

WBOY
풀어 주다: 2023-05-13 10:25:05
앞으로
1315명이 탐색했습니다.

nginx의 특정 사용자 에이전트 블랙리스트

사용자 에이전트 차단 목록을 구성하려면 웹 사이트의 nginx 구성 파일을 열고 서버 정의 섹션을 찾으세요. 이 파일은 nginx 구성이나 Linux 버전에 따라 다른 위치에 배치될 수 있습니다(예: /etc/nginx/nginx.conf, /etc/nginx/sites-enabled/,/usr /local/ nginx/conf/nginx.conf,/etc/nginx/conf.d/).

코드 복사 코드는 다음과 같습니다.

server {
listening 80 default_server;
server_name xmodulo.com;
root /usr/share/nginx/html;
....
}

구성 파일 열기 서버 섹션을 찾고 섹션 내 어딘가에 다음 if 문을 추가합니다.

코드 복사 코드는 다음과 같습니다.

server {
listening 80 default_server;
server_name xmodulo.com;
root /usr/share/nginx/html;
Case Sensitive Matching
         if ($http_user_agent ~ (antivirx| arian ) {
                 403을 반환합니다.                                                                    403을 반환합니다.
}

.

}

잘못된 사용자 문자열을 검색하고 일치하는 개체에 403 http 상태 코드를 반환합니다. http 요청의 사용자 에이전트 문자열입니다. '~' 연산자는 사용자 에이전트 문자열에 대해 대소문자를 구분하여 일치하는 반면, '~*' 연산자는 대소문자를 구분하지 않고 일치하므로 if 문에서 사용할 수 있습니다. . 수많은 user-agent 키워드를 입력하고 모두 차단하세요.

구성 파일을 수정한 후 차단을 활성화하려면 nginx를 다시 로드해야 합니다.

 $ sudo /path/to/nginx -s reload
로그인 후 복사
로그인 후 복사

wget 테스트 사용자 옵션을 사용하면 됩니다. -agent Blocking.
 $ wget --user-agent "malicious bot" http://<nginx-ip-address>
로그인 후 복사

nginx에서 사용자 에이전트 블랙리스트 관리

지금까지 nginx에서 http 요청에 대해 일부 사용자 에이전트를 차단하는 방법을 살펴보았습니다. robots?

Nginx에서 특정 사용자 에이전트를 가로채는 방법사용자 에이전트 블랙리스트가 매우 커지므로 nginx의 서버 부분에 넣는 것은 좋지 않습니다. 예를 들어, 차단된 모든 사용자 에이전트가 나열되는 별도의 파일을 만들 수 있습니다. , /etc/nginx/useragent.rules를 생성하고 차단된 모든 사용자 에이전트를 다음 형식으로 정의하는 그래프를 정의해 보겠습니다.

  $ sudo vi /etc/nginx/useragent.rules
로그인 후 복사

코드를 복사하세요. map $http_user_agent $badagent {

default 0; ㅋㅋㅋ > 정규식. "기본값 0" 줄은 다른 파일에 나열되지 않은 모든 사용자 에이전트가 허용된다는 의미입니다.

다음으로 웹사이트의 nginx 구성 파일을 열고 http가 포함된 섹션을 찾은 후 http 섹션 어딘가에 다음 줄을 추가합니다.如 다음과 같이 코드를 복사하세요:

http {

.....

include /etc/nginx/useraurs.rules
}

include 문은 서버 앞에 나타나야 합니다(이것이 우리가 이를 추가하는 이유입니다). 추가하려면 추가하세요. 추가하려면 http 부분에 추가하세요).

이제 서버를 정의하는 nginx 구성 섹션을 열고 다음 if 문을 추가하세요.

코드 복사 코드는 다음과 같습니다.

서버 {

       ....

          if ($badagent) {

. ...
}

마지막으로 nginx를 다시 로드합니다.

 $ sudo /path/to/nginx -s reload
로그인 후 복사
로그인 후 복사

이제 /etc/nginx/useragent.rules에 나열된 키워드가 포함된 모든 사용자 에이전트는 nginx에 의해 자동으로 금지됩니다.

위 내용은 Nginx에서 특정 사용자 에이전트를 가로채는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿