Es gibt einen dritten Weg, dies zu verhindern browserconfig.xml Ihre Protokolldateien mit 404-Fehlern gefüllt werden. Sie können einen Nullwert (444) vom Server zurückgeben und die Protokollierung nur für diesen Speicherort deaktivieren. Dies ist relevant, da favicon.ico dasselbe tut, indem es die Meta-Head-Tags und den Browser, der sie aufruft, ignoriert (wobei auch ein 404 generiert wird). Das Problem ist größer als nur diese eine unerwünschte Datei.
Zu Ihrer speziellen Frage, wie Sie 404-Fehler in Ihren Protokollen in browser.xml verhindern können - für NGINX können Sie eine neue Datei in /etc/nginx/snippets/und dann #includediese Datei in Ihrer /etc/nginx/sites-available/example.orgDatei innerhalb des Serverblocks erstellen .
Beispiel: /etc/nginx/snippets/block-known-errors.confhat folgenden Inhalt:
location ~* /(favicon.ico|browserconfig.xml)$
{ access_log off; log_not_found off; return 444; }
Dann würden Sie in Ihrer Konfiguration bei /etc/nginx/sites-available/example.orghinzufügen:
include /etc/nginx/snippets/block-known-errors.conf;
Beachten Sie, dass in der Standortspezifikation in NGINX ein regulärer Ausdruck verwendet wird und die Groß- und Kleinschreibung nicht berücksichtigt wird . Und weil es ein locationist, muss es innerhalb der serverSpezifikation liegen.
In der Praxis verschachteln wir unsere Includes tatsächlich im /etc/nginx/snippets/Ordner und haben ein globales Include und ein anderes Include für bestimmte Sites, abhängig von den Sicherheits- / Technologieanforderungen. Auf diese Weise können unsere Endpunkte ein globales Problem fast sofort beheben, indem sie eine Datei hinzufügen oder eine vorhandene Datei bearbeiten, um unsere Protokolle zu verwalten.
Mit OSSEC und einem ELK-Stack können Sie nur so viel Cruft durchschauen.
Ich bin sicher, dass mod_rewrite in Apache dies auch tun könnte.