Server einrichten - X-XSS-Protection bei nginx
Inhaltsverzeichnis:
- Konfigurieren des Zugriffsprotokolls
- Konfigurieren des Fehlerprotokolls
- Speicherort der Protokolldateien
- Lesen und Verstehen der Nginx-Protokolldateien
- Fazit
Nginx ist ein Open-Source-, Hochleistungs-HTTP- und Reverse-Proxy-Server, der für die Auslastung einiger der größten Websites im Internet verantwortlich ist. Beim Verwalten von NGINX-Webservern besteht eine der häufigsten Aufgaben darin, die Protokolldateien zu überprüfen.
Das Konfigurieren und Lesen der Protokolle ist sehr hilfreich bei der Behebung von Server- oder Anwendungsproblemen, da sie detaillierte Debugging-Informationen enthalten.
Nginx schreibt Aufzeichnungen seiner Ereignisse in zwei Arten von Protokollen: Zugriffsprotokolle und Fehlerprotokolle. Zugriffsprotokolle enthalten Informationen zu Clientanforderungen und Fehlerprotokolle enthalten Informationen zu Server- und Anwendungsproblemen.
Dieser Artikel beschreibt die Konfiguration und das Lesen der Nginx-Zugriffs- und Fehlerprotokolle.
Konfigurieren des Zugriffsprotokolls
Bei jeder Verarbeitung einer Client-Anfrage generiert Nginx ein neues Ereignis im Zugriffsprotokoll. Jeder Ereignisdatensatz enthält einen Zeitstempel und verschiedene Informationen über den Client und die angeforderte Ressource. In Zugriffsprotokollen können Sie den Standort der Besucher, die Seite, die sie besuchen, wie viel Zeit sie auf der Seite verbringen und vieles mehr anzeigen.
Mit der Anweisung
log_format
können Sie das Format der protokollierten Nachrichten definieren. Die Direktive
access_log
und legt den Speicherort der Protokolldatei und das verwendete Format fest.
Die grundlegendste Syntax der Direktive
access_log
lautet wie folgt:
access_log log_file log_format;
Dabei ist
log_file
der vollständige Pfad zur Protokolldatei und
log_format
das von der Protokolldatei verwendete Format.
Das Zugriffsprotokoll kann entweder im Block
http
,
server
oder
location
directives aktiviert werden.
Standardmäßig ist das Zugriffsprotokoll in der
http
Direktive in der Hauptkonfigurationsdatei von Nginx global aktiviert.
http {… access_log /var/log/nginx/access.log;… }
Zur besseren Wartbarkeit wird empfohlen, für jeden Serverblock eine separate Zugriffsprotokolldatei festzulegen. Die in der
server
Direktive festgelegte
access_log
Direktive überschreibt die in der
http
Direktive (höhere Ebene) festgelegte.
http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }
Wenn kein Protokollformat angegeben ist, verwendet Nginx das vordefinierte kombinierte Format, das wie folgt aussieht:
log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
Um das Protokollierungsformat zu ändern, überschreiben Sie entweder die Standardeinstellung oder definieren Sie eine neue. Um beispielsweise ein neues Protokollierungsformat mit dem Namen main zu definieren, das das kombinierte Format um den Wert erweitert, der den
X-Forwarded-For
Header anzeigt, fügen Sie die folgende Definition in die
http
oder
server
Direktive ein:
log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
Um das neue Format zu verwenden, geben Sie den Namen nach der Protokolldatei an, wie unten gezeigt:
access_log /var/log/nginx/access.log custom;
Während das Zugriffsprotokoll sehr nützliche Informationen enthält. Es beansprucht Speicherplatz und kann die Serverleistung beeinträchtigen. Wenn auf Ihrem Server nur noch wenige Ressourcen zur Verfügung stehen und Ihre Website ausgelastet ist, können Sie das Zugriffsprotokoll deaktivieren. Setzen Sie dazu den Wert der Direktive
access_log
auf
off
:
Konfigurieren des Fehlerprotokolls
Nginx schreibt Nachrichten über die Anwendung und allgemeine Serverfehler in die Fehlerprotokolldatei. Wenn in Ihrer Webanwendung Fehler auftreten, ist das Fehlerprotokoll der erste Ausgangspunkt für die Problembehandlung.
Die
error_log
Direktive
error_log
und legt den Speicherort und den Schweregrad des Fehlerprotokolls fest. Es hat die folgende Form und kann in einem
http
,
server
oder
location
:
error_log log_file log_level
Der Parameter
log_level
legt die Protokollierungsstufe fest. Nachfolgend sind die Stufen nach ihrem Schweregrad aufgeführt (von niedrig bis hoch):
-
debug
- Debuggen von Nachrichten.info
- Informationsmeldungen.notice
- Bekanntmachungen.warn
- Warnungen.error
- Fehler beim Verarbeiten einer Anfrage.crit
- Kritische Probleme. Erfordert eine sofortige Aktion.alert
- Warnungen. Es muss sofort gehandelt werden.emerg
- Notfallsituation. Das System befindet sich in einem unbrauchbaren Zustand.
Jede Protokollebene enthält die höheren Ebenen. Wenn Sie beispielsweise die Protokollebene auf "
crit
, protokolliert Nginx auch die
error
, "
crit
, "
alert
- und "
emerg
.
Wenn der Parameter
log_level
nicht angegeben wird, wird standardmäßig ein
error
log_level
.
Standardmäßig ist die
error_log
Direktive in der
http
Direktive in der Hauptdatei nginx.conf definiert:
http {… error_log /var/log/nginx/error.log;… }
Wie bei den Zugriffsprotokollen wird empfohlen, für jeden Serverblock eine separate Fehlerprotokolldatei festzulegen, die die von den höheren Ebenen geerbte Einstellung überschreibt.
Um beispielsweise das Fehlerprotokoll von domain.com auf "
warn
, würden Sie Folgendes verwenden:
http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }
Wenn Sie die Konfigurationsdatei ändern, müssen Sie den Nginx-Dienst neu starten, damit die Änderungen wirksam werden.
Speicherort der Protokolldateien
Standardmäßig befinden sich auf den meisten Linux-Distributionen wie Ubuntu, CentOS und Debian die Zugriffs- und Fehlerprotokolle im Verzeichnis
/var/log/nginx
.
Lesen und Verstehen der Nginx-Protokolldateien
Sie können die Protokolldateien mit Standardbefehlen wie
cat
,
less
,
grep
,
cut
,
awk
usw. öffnen und analysieren.
Hier ist ein Beispieldatensatz aus der Zugriffsprotokolldatei, die das standardmäßige kombinierte Nginx-Protokollformat verwendet:
192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
Lassen Sie uns aufschlüsseln, was jedes Feld des Datensatzes bedeutet:
-
$remote_addr
-192.168.33.1
- Die IP-Adresse des Clients, der die Anfrage gestellt hat.$remote_user
--
- HTTP-authentifizierter Benutzer. Wenn der Benutzername nicht festgelegt ist, zeigt dieses Feld-
. -"$request"
-"GET /
- Der Anforderungstyp, der Pfad und das Protokoll.$status
-200
- Der Serverantwortcode.$body_bytes_sent
-396
- Die Größe der Serverantwort in Byte."$http_referer"
-"-"
- Die URL der Überweisung."$http_user_agent"
-Mozilla/5.0…
- Der Benutzeragent des Clients (Webbrowser).
Verwenden Sie den Befehl
tail
, um die Protokolldatei in Echtzeit zu überwachen:
Fazit
Protokolldateien enthalten nützliche Informationen zu Serverproblemen und zur Interaktion der Besucher mit Ihrer Website.
Mit Nginx können Sie die Zugriffs- und Fehlerprotokolle gemäß Ihren Anforderungen konfigurieren.
NginxAntwortzeile: Konfigurieren des Windows Explorer (oder Datei Explorer) Navigationsbereich
Der Windows Explorer Navigationsbereich bietet einfache Bewegung zwischen den Ordnern an deine Festplatte. Bevaau hat das Windows-Forum über die Konfiguration dieses praktischen Tools gefragt.
Konfigurieren oder Konfigurieren von Hotmail auf dem iPad / iPhone / iPod Touch mit Active Sync
Dieser Artikel zeigt Ihnen Schritt- Schritt-für-Schritt-Anleitung zum Einrichten von Windows Live Hotmail auf Ihrem iPad, iPhone und iPod Touch mit Active Sync.
Konfigurieren Sie odoo mit nginx als Reverse Proxy
Odoo wird mit einem integrierten Webserver geliefert. In den meisten Fällen wird jedoch empfohlen, einen Reverse-Proxy vor sich zu haben, der als Vermittler zwischen den Clients und dem Odoo-Server fungiert. Dieses Handbuch enthält Anweisungen zur Verwendung von Nginx als Reverse-Proxy für Odoo.