Passer au contenu principal

Comment exclure une adresse IP des journaux dans nginx?



Imaginez une situation: vous avez une adresse IP statique et vous êtes beaucoup et longtemps engagé dans la modification du site. Dans le même temps, vous devez toujours surveiller périodiquement les journaux pour détecter les erreurs dans les requêtes ou les analyses de vulnérabilité. Et la présence d'un grand nombre d'enregistrements avec votre IP rend difficile la visualisation des journaux.

À l'aide d'une entrée conditionnelle disponible dans nginx, à partir de la version 1.7.0, nous pouvons vérifier l'adresse IP du visiteur et ne pas l'enregistrer dans les fichiers journaux. En effet, pourquoi faire cela si la connexion de votre adresse IP n'est pas nécessaire?



Pour ajouter une telle exception, vous devez créer une entrée conditionnelle basée sur map_module . Le résultat du calcul de l'enregistrement conditionnel ne sera pas enregistré dans le journal s'il est égal à 0. La règle ressemblera à ceci:

  map $ remote_addr $ loggable {
  "127.0.0.1" 0;
  ":: 1" 0;
  défaut 1;
 } 

Autrement dit, le résultat par défaut est 1 et pour l'ip spécifié, il ne sera pas enregistré dans le journal. Les versions 4 et 6 du protocole sont prises en charge. Remarque, la première variable est l'adresse du client qui se connecte. Et la deuxième variable doit être écrite dans les paramètres du journal d'accès.

  access_log /var/log/nginx/access.log combinés si = $ loggable; 

Le bloc de carte peut être spécifié à la fois au niveau http de la configuration de nginx et au niveau du server .



Exclusion d'autres données des journaux

La désactivation de la journalisation spécifique à l’IP n’est qu’un exemple parmi d’autres. Vous pouvez utiliser différentes variables de la norme .

Désactivons, à titre d'exemple, l'écriture dans le journal de page error.html. Pour ce faire, créez un tel bloc:

  map $ request_uri $ loggable {
  ~ * error.html 0;
  défaut 1;
 } 

Et écrivez, comme ci-dessus, le paramètre if en tant qu'argument du paramètre access_log. Après avoir redémarré nginx, toutes les demandes de error.html ne seront pas écrites. Y compris les variations de type error.html?q=search . Pour une correspondance exacte, vous devez écrire une autre expression régulière.




Comment évaluez-vous l'article?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 2 évaluations moyenne de 5.00 sur 5)
Chargement ...

Ajouter un commentaire

Votre email ne sera pas publié.