NGINX: So erfassen/protokollieren Sie die IP-Adresse eines bestimmten Standorts in einer Textdatei

NGINX: So erfassen/protokollieren Sie die IP-Adresse eines bestimmten Standorts in einer Textdatei

Ich möchte die IP-Adressen der Besucher einer bestimmten Stelle auf meinen Websites protokollieren/erfassen können. Die Idee besteht darin, zwei Conf-Dateien zu haben, die für Whitelists oder Blacklists verwendet werden können.

  • Die Bösewichte könnten automatisch aufgelistet und vom Server blockiert werden
  • Die Administratoren könnten eine geheime Adresse besuchen, um ihre IP auf die Whitelist setzen zu lassen, bevor sie auf den Administratorbereich zugreifen.

Das Problem besteht darin, dass ich nicht herausfinden kann, wie ich Nginx dazu bringe, IPs in meine Konfigurationsdateien zu schreiben.

Beispiel:

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

Danke

Antwort1

Meinem Verständnis nach möchten Sie die vertrauenswürdigen IP-Adressen in einer Datei hinzufügen und sie dann an bestimmten Orten zulassen. Verdächtige IP-Adressen möchten Sie in eine andere Datei verschieben und dann eine Einschränkung für diese IP-Adressen festlegen?

Wenn ich das richtig verstehe, können Sie die IP von Seite 1 awk

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

und dann mit demselben Befehl die IP auf Seite 2 oder für den Administrator awk und sie an einem anderen Ort speichern.

verwandte Informationen