Wir haben kürzlich einen neuen Fehler in unseren Apache-Logs entdeckt:
%Vor%Es sieht so aus, als ob JavaScript von einer Seite in einer Anfrage an den Server gesendet wird. Es ist jedoch unklar, wie dies geschehen würde. Von der Suche im Internet sieht das mit bestimmten Wordpress-Plugins aus, aber da gibt es nicht viel andere Informationen.
Hinweis zur Umgebung: Clients verwenden IE8 auf einem Citrix Thin Client in Großbritannien. Die Webserver sind 1700 km entfernt, also gibt es ein bisschen Latenz. Die Website verwendet stark AJAX und große Cookies.
Könnte jemand dazu raten, dieses Problem zu debuggen?
Danke
Andrew
Ich bekomme das auch, mit einem PHP-Framework, das URLs erlaubt, die so formatiert sind, dass
%Vor%kann als
umgeschrieben werden %Vor%zusammen mit einer Regex im Framework-Code.
Der Fehler sieht wie folgt aus (/ var / log / apache / error_log):
%Vor%- & gt; In diesem Fall analysiert Apache den Dateinamen als
%Vor%(Ich serialisiere einen Objektstatus und überlasse ihn).
Ich muss das (zumindest die URLs mit langen angehängten serialisierten Objekten) in den gebräuchlicheren Stil umschreiben:
%Vor% - & gt; In diesem Fall analysiert Apache den Dateinamen als index.php
Kurz gesagt, schreiben Sie Ihre URLs so schnell wie möglich neu und fügen Sie ?
ein, um Daten als CGI-style-Parameter anstelle von Pfadelementen zu übergeben.
Ich ran strace -p $PID &
für jede Apache-Prozess-ID (wie von pidof apache2
gemeldet):
zum Beenden:
%Vor%Und sehen Sie die Kernel-Aufrufe make von apache2:
%Vor%Da diese Systemaufrufe keine Fehler zurückgeben (z. B. '... = -1'), habe ich die Apache2-Quellen heruntergeladen und gefunden:
Grep für "Kann nicht zuordnen":
server/core.c
suche nach apr_filepath_merge
...
srclib/apr/file_io/unix/filepath.c
finde APR_PATH_MAX
...
Netware
%Vor%WIN32
%Vor%./ srclib / apr / include / apr.h.in
%Vor%/usr/src/linux-headers-2.6.35-28/include/linux/limits.h
%Vor%Tags und Links javascript apache