nginx의 특정 사용자 에이전트 블랙리스트
사용자 에이전트 차단 목록을 구성하려면 웹 사이트의 nginx 구성 파일을 열고 서버 정의 섹션을 찾으세요. 이 파일은 nginx 구성이나 Linux 버전에 따라 다른 위치에 배치될 수 있습니다(예: /etc/nginx/nginx.conf, /etc/nginx/sites-enabled/
코드 복사 코드는 다음과 같습니다.
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 --user-agent "malicious bot" http://<nginx-ip-address>
nginx에서 사용자 에이전트 블랙리스트 관리
지금까지 nginx에서 http 요청에 대해 일부 사용자 에이전트를 차단하는 방법을 살펴보았습니다. robots?사용자 에이전트 블랙리스트가 매우 커지므로 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
위 내용은 Nginx에서 특정 사용자 에이전트를 가로채는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!