NGINX: 텍스트 파일의 특정 위치를 방문하는 IP를 캡처/로그하는 방법

NGINX: 텍스트 파일의 특정 위치를 방문하는 IP를 캡처/로그하는 방법

내 사이트의 특정 위치에 대한 방문자의 IP를 기록/캡처할 수 있기를 원합니다. 아이디어는 화이트리스트 또는 블랙리스트에 사용할 2개의 conf 파일을 갖는 것입니다.

  • 악당은 자동으로 나열되고 서버에 의해 차단될 수 있습니다.
  • 관리자는 관리 영역에 액세스하기 전에 비밀 주소를 방문하여 IP를 화이트리스트에 추가할 수 있습니다.

문제는 nginx가 내 conf 파일에 IP를 쓰도록 하는 방법을 찾을 수 없다는 것입니다.

예:

location ~* ^/(trustme)/?$
    add "allow X.X.X.X;" to /etc/nginx/conf.d/trusted-ips.conf;
}

location ~* ^/(admin|wp-admin|control)/?$
    add "deny Y.Y.Y.Y;" to /etc/nginx/conf.d/blacklisted_ips.conf;
}

감사합니다

답변1

내 이해에 따르면 신뢰할 수 있는 IP를 하나의 파일에 추가한 다음 특정 위치에서 허용하고 의심스러운 IP를 다른 파일로 이동한 다음 해당 IP에 일부 제한을 두기를 원하십니까?

내가 올바르게 이해했다면 1페이지의 IP를 알 수 있습니다.

awk '$7 ~ /^\/page1?/ {print $1}' /path/to/access.log | sort -u > result.txt

그런 다음 동일한 명령을 사용하여 page2 또는 admin의 IP를 확인하고 다른 위치에 저장하십시오.

관련 정보