apache2.2 und mod_proxy_balancer Bug?
Hallo,
ich versuche gerade mit dem Etch-Apache2.2 einen Balancer Proxy für
mehrere Sarge Apache2.0.54 aufzusetzen.
Leider hat der Apache2.2 einen Bug oder meine Konfiguration ist falsch.
Ich möchte dabei gerne als stickysession einen URL Parameter anstatt
eines Cookies benutzen. Das wird grundsätzlich vom Apache2.2 auch
unterstützt.
Zu meiner Config: (relevanter Ausschnitt)
<VirtualHost *:80>
ProxyRequests off
ProxyPass /balancer-manager !
ProxyPass / balancer://portal/ stickysession=wm nofailover=On
maxattempts=10
ProxyPassReverse / balancer://portal/
<Proxy balancer://portal>
BalancerMember http://192.168.50.41 route=41
BalancerMember http://192.168.50.81 route=81
</Proxy>
</VirtualHost>
Wenn ich jetzt mit http://<proxy-name>/index.php?...wm=xx.41 zugreife
geht der Request über die 192.168.50.41, bei wm=xx.81 wie erwartet über
http://192.168.50.81.
Wenn der Parameter wm aber nicht am Ende der URL steht, bekomme ich
einen 503 vom Proxy und im Log (debug Mode) steht folgendes:
[debug] mod_proxy_balancer.c(41): proxy: BALANCER: canonicalising
URL //portal/index.php
[debug] mod_proxy_balancer.c(198): proxy: BALANCER: Found value
xx.41&bla for stickysession wm
[debug] mod_proxy_balancer.c(208): proxy: BALANCER: Found route 41&bla
[error] proxy: BALANCER: (balancer://portal). All workers are in error
state for route (41&bla)
Er scheint also jetzt den hinter wm liegenden Parameter bla nicht zu
ignorieren (splittet nicht am &) sondern mit in den stickysession-key
einzubeziehen, dafür existiert natürlich keine Route.
Lässt sich das verhindern, durch Angabe einer anderen Route oder ist das
einfach nur ein Bug im 2.2er Apache? Wieso ist er überhaupt der Meinung
für "41&bla" eine Route zu besitzen?
--
Markus Schulz
Reply to: