NGINX: Como capturar/registrar IP visitando um determinado local em um arquivo de texto

NGINX: Como capturar/registrar IP visitando um determinado local em um arquivo de texto

Gostaria de poder registrar/capturar os IPs dos visitantes de um determinado local em meus sites. A ideia é ter 2 arquivos conf para serem usados ​​na lista de permissões ou na lista negra.

  • Os bandidos podem ser listados automaticamente e bloqueados pelo servidor
  • Os administradores podem visitar um endereço secreto para colocar seu IP na lista de permissões antes de acessar a área administrativa.

O problema é que não consigo descobrir como fazer com que o nginx grave IPs em meus arquivos conf.

Exemplo:

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;
}

Obrigado

Responder1

Pelo que entendi, você deseja adicionar os IPs confiáveis ​​​​em um arquivo e, em seguida, permiti-los em um local específico e os IPs suspeitos. Você deseja movê-los para outro arquivo e, em seguida, colocar alguma limitação nesses IPs?

Se bem entendi você pode awk ip da página 1

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

e então awk o ip na página2 ou admin usando o mesmo comando e armazene-os em outro local.

informação relacionada