openSUSE-Konfiguration
Die folgenden Standardkonfigurationsanweisungen werden in Abwesenheit einer bestimmten Konfiguration des virtuellen Hostcontainers für die aufgeführten Linux-Distributionen angegeben.
Tabelle der Standardanweisungen
* Bedingt durch geladenes log_config_module.
** Bedingt durch geladenes logio_module.
*** Bedingt durch geladene mod_ssl.,
Standard Virtueller Host überschreibt
Konfiguration des virtuellen Hosts (Port 80):
/etc/apache2/default-vhost.conf
Virtual-host-Konfiguration (port 443):
/etc/apache2/default-vhost-ssl.conf
Anwendbare Module
Der Apache-Webserver bietet eine Reihe von Modulen, die entweder die Funktionsweise von Apache ändern oder seine Funktionen erweitern.
mod_log_config:
Dieses Modul kompiliert wird standardmäßig in der Apache-Basis., Direktiven umfassen:
BufferedLogs: Puffert Protokolleinträge im Speicher vor dem Schreiben auf die Festplatte. Dies ist ein Ein|Aus-Schalter.
CustomLog: Legt den Dateinamen und das Protokolldateiformat fest.
LogFormat: Gibt an, log-Datei-format.
TransferLog: Gibt den Speicherort der Protokolldatei.
mod_log_debug
Konfigurierbare debug-Protokollierung. Dieses Modul ist experimentell und kann in einer Paketverteilung bereitgestellt werden oder auch nicht. Wenn dies bereitgestellt wird, muss es wahrscheinlich aktiviert werden., Zu den Anweisungen gehören:
LogMessage: Benutzerdefinierte Nachrichten, die in einem Fehlerprotokoll protokolliert werden.
Beispiel: Hinzufügen von konfigurierbaren Debug-Nachrichten zu einem Standort-Tag ähnlich wie unten.
LogMessage „/path/to/spezifische/Verzeichnis angefordert wurde durch“ ${REMOTE_ADDR}
mod_log_forensic
Ermöglicht die forensische Anfrage-Protokollierung und-Analyse. Oft in Paketdistributionen enthalten, müssen jedoch möglicherweise aktiviert werden. Dieses Modul supercedes mod_unique_id für forensische Zwecke.,
Dem eindeutigen Bezeichner für einen ersten Anforderungsprotokolleintrag steht ein “ + “ – Zeichen voran.
Ein “ – “ Zeichen zeigt nachfolgende Protokolleinträge für die gleiche Anfrage.
Ein letzter Protokolleintrag für eine bestimmte Anforderung enthält ein “ – “ Zeichen vor dem eindeutigen Bezeichner. Dies zeigt den endgültigen forensischen Anforderungsprotokolleintrag an. Direktiven umfassen:
ForensicLog: Wird verwendet, um Anfragen für forensische Analysen zu protokollieren. Jedem Protokolleintrag wird eine eindeutige Kennung zugewiesen.
Forensisches Protokollformat: Gibt eine eindeutige forensische ID am Anfang der Protokollzeichenfolge an., Dies ist keine Direktive, sondern Informationen, die sich auf die ID selbst und die Bedeutung des ursprünglichen ID-Zeichens beziehen, das das erste und nachfolgende Protokollschreiben angibt.
ForensicLog: Gibt einen Dateinamen für den forensischen Protokollstandort relativ zum Serverstamm an. Diese Direktive kann in der Hauptserverkonfiguration oder in einer vhost-Konfiguration angegeben werden.
Beispiel: Erste forensische log-Eintrag aufrufen https://localhost Verwendung von Standard-Protokoll-format:
Beispiel: Ende forensic log-Eintrag aus der obigen Anfrage.,
-3264:55958cb4:0
Beispiel: Standard Port 80 vhost config für eine Site, die ein benutzerdefiniertes forensisches Protokoll enthält:
Hinweise zur Verwendung:
Wenn kein Endprotokolleintrag geschrieben wird, dh es gibt keine „-<eindeutige ID>“ Eintrag, die Anforderung wurde nicht abgeschlossen, was auf einen Skriptfehler hinweist.
Sobald das Modul aktiviert ist, enthält das Hinzufügen einer %{forensic-id} – Variablen zu einer regulären Protokollformatzeichenfolge eine forensische Kennung in anderen Protokollen, dh,:
LogFormat „%{forensic-id} %h %l %u %t „%r“ %>s %O“ common
mod_logio:
Fügt drei neue logging-Formate, um die mod_log_config format-Spezifikationen, einschließlich byte-Mengen empfangen, gesendet, und übertragen (eine Kombination der versendeten und empfangenen Mengen). Normalerweise in der Basis Apache Compile enthalten.
LogIOTrackTTFB: Ermöglicht die Zeiterfassung zwischen der ersten Anforderung Lesezeit und dem Zeitpunkt der ersten Byte-Antwort gesendet wird.,
mod_filter: Stellt kontextsensitive Filter für die Ausgabekette bereit, indem eine beliebige Anzahl von Filteranbietern registriert wird. mod_filter ist nicht spezifisch für die Protokollierung, ermöglicht jedoch das Extrahieren spezifischer Anforderungen basierend auf dem Filteranbieter. Kontextcontainer umfassen: Haupt Apache config, vhost config, innerhalb Verzeichnis-Tags, und .htaccess-Dateien.
Die Verwendung dieses Moduls ermöglicht das Filtern von Anforderungen, die bestimmte Injektionskriterien enthalten und von welcher IP-Adresse sie stammen.,
Dieses Modul wird standardmäßig in vielen Paketverteilungen bereitgestellt, muss jedoch möglicherweise aktiviert werden. Zum Zwecke der Protokollierung gibt die FilterTrace-Direktive Informationen in das Fehlerprotokoll ein. Direktiven umfassen:
AddOutputFilterByType: Weist einem bestimmten Medientyp einen Ausgabefilter zu.
FilterChain: Konfiguriert eine Filterkette.
FilterDeclare: Deklariert einen intelligenten Filter.
FilterProtocol: Bewirkt, dass der mod_filter Antwortheader korrekt behandelt.
FilterProvider: Registriert Filteranbieter.,
FilterTrace: Ermöglicht das Debuggen/Diagnose-Informationen zu einem Fehlerprotokoll vor der Provider-Verarbeitung.
Beispiel: Filtern in einem vhost-Kontextcontainer bedingt nach Filter-und Include-Modulen:
mod_unique_id:
Erstellt für jede Anforderung eine Umgebungsvariable und einen eindeutigen Bezeichner. Oft in Paketdistributionen enthalten, müssen jedoch möglicherweise aktiviert werden. Diese eindeutige Kennung wird in das Zugriffsprotokoll geschrieben.,
Dieses Modul wurde für forensische Zwecke durch mod_log_forensic ersetzt, wird aber weiterhin für andere unterstützt.
Im Gegensatz zum forensischen Bezeichner wird der eindeutige Bezeichner über die Umgebungsvariable UNIQUE_ID an den Anwendungshandler übergeben. Auf diese Weise können Anwendungsentwickler eine Anfrage über den Webserver zum Anwendungsserver verfolgen. Es kann nützlich sein, um eine Anfrage zu debuggen.
Apache dreht untergeordnete Prozesse ab, um Anforderungen zu verarbeiten, und eine untergeordnete Instanz verarbeitet mehrere Anforderungen gleichzeitig., Daher ist es manchmal wünschenswert, eine eindeutige Kennung zu verwenden, um eine einzelne Anforderung über mehrere Serverinstanzen und untergeordnete Prozesse hinweg zu identifizieren.
Nach der Aktivierung stellt das Modul standardmäßig eine Kennung für den Anwendungshandler bereit.
Beispiel:
UNIQUE_ID: Vaf3en8AAQEAAAtoQlAAAAAA
Der Bezeichner wird aus einer 32-Bit-IP-Adresse, einer 32-Bit-Prozess-ID, einem 32-Bit-Zeitstempel und einem 16-Bit-Zähler für eine engere Auflösung als eine einzelne-zweiter, 32-Bit-Thread-Index., Die Zeitstempelkomponente ist UTC, um Probleme mit Anpassungen der Sommerzeit zu vermeiden. Der Anwendungshandler sollte den Bezeichner nur als undurchsichtiges Token behandeln und nicht in Bestandteile zerlegen.
Leave a Reply