Saltar al contenido principal.

¿Cómo excluir IP de los registros en nginx?



Imagine una situación: tiene una IP estática y es mucho y desde hace mucho tiempo se dedica a editar el sitio. Al mismo tiempo, todavía debe supervisar, periódicamente, los registros para detectar errores en las consultas o para detectar vulnerabilidades. Y la presencia de una gran cantidad de registros con su IP hace que sea difícil ver los registros.

Con la ayuda de una entrada condicional que está disponible en nginx, a partir de la versión 1.7.0, podemos verificar la ip del visitante y no registrarla en los archivos de registro. De hecho, ¿por qué hacer esto si no es necesario registrar su ip?



Para agregar dicha excepción, debe crear una entrada condicional basada en map_module . El resultado del cálculo del registro condicional no se registrará en el registro si es igual a 0. La regla se verá así:

  map $ remote_addr $ loggable {
  "127.0.0.1" 0;
  ":: 1" 0;
  por defecto 1;
 } 

Es decir, el resultado predeterminado es 1, y para el ip - 0 especificado, y no se registrarán en el registro. Se admiten las versiones de protocolo 4 y 6. Tenga en cuenta que aquí la primera variable es la dirección del cliente que se conecta. Y la segunda variable debe escribirse en los parámetros de registro de acceso.

  access_log /var/log/nginx/access.log combinado if = $ loggable; 

El mapa de bloques se puede especificar tanto en el nivel http de la configuración nginx como en el nivel del server .



Exclusión de otros datos de los registros

Deshabilitar el registro específico de IP es solo un ejemplo de los muchos. Puede utilizar varias variables de la norma .

Vamos a desactivar, como ejemplo, escribir en el registro de la página error.html. Para hacer esto, crea tal bloque:

  map $ request_uri $ loggable {
  ~ * error.html 0;
  por defecto 1;
 } 

Y escriba, como antes, el parámetro if como un argumento para el parámetro access_log. Después de reiniciar nginx, no se escribirán todas las solicitudes de error.html. Incluyendo variaciones de tipo error.html?q=search . Para una coincidencia exacta, necesitas escribir otra expresión regular.




¿Cómo calificas el artículo?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 2 calificaciones, promedio: 5.00 de 5)
Cargando ...

Añadir un comentario

Su correo electrónico no será publicado.