Hallo,
ich habe erfolgreich einen Apache Balancer mit mod_proxy_balancer aufgesetzt.
Problem ist nur, dass in den Backendservern die IP des FRONTEND Servers und nicht die des eigentlichen Browsers erscheint.
Wie kann ich dies umgehen?
Oder gibt es eine ander Art für den load Balancer. Problem ist, dies sollte eigentlich nur für eine VirtualHost sein, also nicht alle Anfragen auf Port80 sollen auf den LoadBalancer laufen.
Hat jemand eine Lösung?
Andere Software?
Andere Einstellungen?
mod_proxy_balancer - Client IP übergeben?
-
- Posts: 176
- Joined: 2003-04-06 19:44
Re: mod_proxy_balancer - Client IP übergeben?
PS:
Wenn ich:
verwende, funktioniert es zwar beim Zugriff über den Balancer, aber nicht beim direkten Zugriff (www1.bla.de).
Kann ich im LogFormat eine art "Case" vwerenden bzw wie mache ich zwei verschiedene VirtualHosts für eine host. Sprich wenn der LB auf die Host szugreift wird LogFormat balancer genommen ansonsten LogFormat normal?
Wenn ich:
Code: Select all
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b
"%{Referer}i" "%{User-Agent}i"" balancer
Kann ich im LogFormat eine art "Case" vwerenden bzw wie mache ich zwei verschiedene VirtualHosts für eine host. Sprich wenn der LB auf die Host szugreift wird LogFormat balancer genommen ansonsten LogFormat normal?
-
- Posts: 150
- Joined: 2004-12-15 16:48
Re: mod_proxy_balancer - Client IP übergeben?
Bei einem Setup als Reverse-Proxy übermittelt Apache unter anderem die ursprüngliche IP des Clients in speziellen Headern (s. http://httpd.apache.org/docs/2.2/mod/mo ... #x-headers) an das Backend. Ich hoffe das trifft auch für Dein Balancer-Setup zu.
Wenn Deine Backends ebenfalls Apaches sind kannst Du Ihnen mit den Modulen "mod_extract_forwarded" oder "mod_rpaf" die ursprüngliche IP vorgaukeln.
Wenn Deine Backends ebenfalls Apaches sind kannst Du Ihnen mit den Modulen "mod_extract_forwarded" oder "mod_rpaf" die ursprüngliche IP vorgaukeln.
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: mod_proxy_balancer - Client IP übergeben?
Ohne zusätzliche Module müsste es so gehen (ungetestet):
Code: Select all
# 192.168.1.1 = Adresse des Loadbalancers
SetEnvIf Remote_Addr ^192.168.1.1$ through_balancer
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" balancer
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" no_balancer
CustomLog access.log balancer env=through_balancer
CustomLog access.log no_balancer env=!through_balancer
-
- Posts: 176
- Joined: 2003-04-06 19:44
Re: mod_proxy_balancer - Client IP übergeben?
Funktioniert Danke :)
Etwas Offtopic:
Hat jemand ein perl/php/c script, dass die lbfactoren automatisch anpasst bzw server automatisch disabled?
Etwas Offtopic:
Hat jemand ein perl/php/c script, dass die lbfactoren automatisch anpasst bzw server automatisch disabled?