Page 1 of 1
mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-30 19:18
by andreask2
Hallo!
Wir setzen Apache mit mod_proxy als Reverse Proxy ein. Jetzt haben wir das Problem, dass beim Abschicken eines bestimmten Formulars der Server einen 500er Internal Server Error ausgibt. Das Formular wird an ein PHP-Skript geschickt, das funktioniert auch, die Daten werden gespeichert, aber irgendwie scheint dann im Anschluss (z.B. bei der Header-Weiterleitung) irgendwas schief zu laufen.
In der Error-Log des betroffenen vhosts (quasi der vhost hinter dem Reverse Proxy) taucht kein Fehler auf, nur in der Haupt error.log. Der Fehler lautet:
[Tue Aug 30 18:31:42 2011] [error] proxy: ap_get_scoreboard_lb(0) failed in child 19518 for worker proxy:reverse
[Tue Aug 30 18:31:43 2011] [error] proxy: ap_get_scoreboard_lb(0) failed in child 19519 for worker proxy:reverse
[Tue Aug 30 18:31:43 2011] [error] proxy: ap_get_scoreboard_lb(0) failed in child 19520 for worker proxy:reverse
Version ist Apache/2.2.9 (Debian)
ich finde gerade keinerlei Ansatzpunkt das ganze zu debuggen. Jemand ne Idee wo man hier ansetzen könnte?
Viele Grüße
Andreas
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-30 20:35
by jan10001
Schau dir deine vhost.conf an, es gibt mehr als eine Ursache für diesen Fehler.
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-30 20:49
by ddm3ve
Ja ist denn der jeweilige vHost auch erreichbar? Und zwar vorm vorgelagerten Host?
wget, w3m, etc. Versuch mal den jeweiligen Webserver, Webseite lokal vom Proxy an zu surfen.
Ansonsten hilft nur, wie schon genannt, ein Blick in die Konfig, wurden auch alle notwendigen Module geladen?
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-30 21:21
by Joe User
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-31 12:07
by andreask2
Also, wir haben folgende Module geladen:
Code: Select all
/etc/apache2/mods-enabled/alias.load
/etc/apache2/mods-enabled/auth_basic.load
/etc/apache2/mods-enabled/authn_file.load
/etc/apache2/mods-enabled/authz_default.load
/etc/apache2/mods-enabled/authz_groupfile.load
/etc/apache2/mods-enabled/authz_host.load
/etc/apache2/mods-enabled/authz_user.load
/etc/apache2/mods-enabled/autoindex.load
/etc/apache2/mods-enabled/cgi.load
/etc/apache2/mods-enabled/deflate.load
/etc/apache2/mods-enabled/dir.load
/etc/apache2/mods-enabled/env.load
/etc/apache2/mods-enabled/expires.load
/etc/apache2/mods-enabled/headers.load
/etc/apache2/mods-enabled/mime.load
/etc/apache2/mods-enabled/negotiation.load
/etc/apache2/mods-enabled/php5.load
/etc/apache2/mods-enabled/proxy.load
/etc/apache2/mods-enabled/proxy_http.load
/etc/apache2/mods-enabled/rewrite.load
/etc/apache2/mods-enabled/setenvif.load
/etc/apache2/mods-enabled/status.load
Code: Select all
<IfModule mod_proxy.c>
ProxyRequests Off
#ProxyPreserveHost On
<Proxy *>
#AddDefaultCharset off
Order deny,allow
Allow from all
#Deny from all
#Allow from 127.0.0.1
</Proxy>
#ProxyVia On
</IfModule>
Benutzt wird das alles nur in einer Rewrite-Rule:
Code: Select all
RewriteEngine On
RewriteCond %{HTTP_COOKIE} blabla=1 [NC]
RewriteRule "^/(.*)" "http://example.com/$1" [P,QSA,L]
Und es funktioniert auch weitgehend. Die Fehler tauchten aber schon öfter auf, und auch öfter als dass es nur an der einen Stelle passiert sein kann.
Was uns aufgefallen ist, es scheint zu einer Art internen Endlosschleife zu kommen, aber hier sind eigentlich keine Header-Weiterleitungen involviert, aber dieselben Fehler (PHP Notices) tauchen dann innerhalb einer Sekunde ca. 5-10 mal auf, dürften aber nur einmal auftauchen.
Und das seltsamste an der Sache, wir haben eines der Skripte das per include eingebunden wird mal verändert, am Ende ein Leerzeichen entfernt und gespeichert, dann ging es plötzlich. Und als wir das Leerzeichen zum testen dann wieder hinzugefügt haben, ging es trotzdem. Ganz seltsam. Wir verwenden auch APC, aber wir haben den Server einmal komplett per start stop neu gestartet, der war also auch leer. Und dieser Fehler wird auch nicht immer geloggt. Irgendwie ganz verrückt das alles, hab inzwischen ein bisschen Bauchschmerzen mod_proxy zu verwenden ehrlich gesagt. jetzt gehts halt, aber das Problem behoben haben wir nicht wirklich.
Grüße
Andreas
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-31 12:11
by andreask2
Ach ja, was auch auffällig ist, bei uns steht da im ap_get_scoreboard_lb() Aufruf IMMER eine 0, bei den meisten anderen Fehlern die ich finde stehen da immer andere Zahlen drin. Und die Child-Prozess IDs steigen schnell immer höher.
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-31 17:59
by andreask2
Jetzt geht das wieder los. Diesmal hilft es nicht diese Datei zu ändern. Und diesmal werden auch die 500er nirgendwo mehr geloggt. Was passiert da? Die Konfiguration ist doch vollkommen trivial eigentlich, oder ist da was falsch?
Grüße
Andreas
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-08-31 18:33
by ddm3ve
Betreibst Du einen mod_status?
Sind denn noch Verbindungen frei?
as ich damit sagen will, mein Proxy basierend auf Apache mod_proxy kommt auch mit einem 500er daher, wenn die Requestzahl das max. Mögliche der dahinter liegenden Server überschreitet.
Re: mod_proxy 500er Fehler bei bestimmten Requests
Posted: 2011-09-01 12:09
by andreask2
Das komische ist, das taucht alles immer bei einer ganz speziellen Funktion auf. Ich denke wenn es daran liegen würde, dann wäre es ja mehr oder weniger Zufall wo es passiert. Und wenn ich mir den Status ansehe, da sind gerade sicher 80% der Verbindungen frei. Oder gibt es noch irgendeine Beschränkung für Proxy-Verbindungen?
Grüße
Andreas