
Mitmod_logSie können mit der Direktive Header, die an den Client zurückgesendet werden, in der Datei access.log protokollieren %{Set-Cookie}o
. Wenn es jedochMehrfachvorkommendes gleichen Headers, wieautorisiert durch HTTP RPC,nur einer wird angemeldet.
Wie können wiralle von ihneneingeloggt?
Als Referenz heißt es im RFC:
Mehrere Nachrichtenkopffelder mit demselben Feldnamen KÖNNEN in einer Nachricht vorhanden sein, wenn und nur wenn der gesamte Feldwert für dieses Kopffeld als durch Kommas getrennte Liste definiert ist [d. h. #(Werte)].
Set-Cookie
ist ein solcher Feldname, da der Feldwert durch Kommas getrennt ist. Ich hätte nichts dagegen, sie wie im HTTP RPC vorgeschlagen zusammenzufügen.
Antwort1
Welche Version von Apache? Welche Version von mod_log? Die richtige Antwort könnte sein, entweder einen Fehlerbericht bei Apache einzureichen oder den Patch selbst durchzuführen.
Antwort2
Tatsächlich funktioniert es seit Version 2.0 sofort, mit Ausnahme von Content-type
: Jeder Header wird ordentlich mit einem Komma verbunden, wie im HTTP RFC vorgeschlagen.
Der Antwortheader „Set-Cookie“ erfährt ebenfalls eine Sonderbehandlung, wie wir in der log_header_out
folgenden Funktion sehen können modules/loggers/mod_log_config.c
:
// ... start of snippet ...
if (!strcasecmp(a, "Content-type") && r->content_type) {
cp = ap_field_noparam(r->pool, r->content_type);
}
else if (!strcasecmp(a, "Set-Cookie")) {
cp = find_multiple_headers(r->pool, r->headers_out, a);
}
else {
cp = apr_table_get(r->headers_out, a);
}
// ... end of snippet ...