HAProxy vor Squid Proxy – Client IP-Adressen weiterleiten

Verwendet man einen Loadbalancer wie z.B. HAProxy um Webzugriffe von Clients auf mehrere Squid Proxy Server zu verteilen, sieht es im access.log des Squid Proxy so aus, als kämen die Zugriffe alle vom HAProxy nicht vom eigentlichen Client. Da das HTTP Forwarding des HAProxy auf Applikationsebene basiert, ist dieses Verhalten korrekt. Wenn man TCP Offloading machen würde, wäre dies wahrscheinlich nicht der Fall.

Um beim HTTP Forwarding dennoch die originale Client-IP im Squid access.log zu sehen, kann man diese über den HTTP Header X-Forwarded-For (Beschreibung) weiterleiten.

In Squid kommen die Requests alle von der IP-Adresse des HAProxy:

1514450659.711  40186 10.0.0.5 TCP_MISS/200 31540 CONNECT images.outbrain.com:443 - HIER_DIRECT/2.19.240.34 -
1514450660.977  40078 10.0.0.5 TCP_MISS/200 3753 CONNECT www.summerhamster.com:443 - HIER_DIRECT/52.27.8.169 -

In HAProxy müssen die folgenden beiden Optionen gesetzt werden. Diese setzen den Header „X-Forwarded-For“ auf die Client IP-Adresse. Dadurch wird die eigentliche Client IP im Header mitgegeben:

option http-server-close
option forwardfor

Der Squid Proxy registriert den veränderten Header, verwirft ihn aber aus Sicherheitsgründen standardmäßig – sofern nicht anderweitig konfiguriert. Also muss in der Konfiguration des Squid der QuellIP des HAProxy vertraut werden. Dies wird dementsprechend über eine acl in der squid.conf angepasst:

acl haproxy src 10.0.0.5
follow_x_forwarded_for allow haproxy

Abschließend den Squid neustarten und den Webzugriff über ein Client testen. Wie man nun im access.log sieht, ist die Client-IP jetzt korrekt weitergeleitet.

1514451557.721      5 10.0.0.10 TCP_MISS/200 910 POST http://ocsp.digicert.com/ - HIER_DIRECT/93.184.220.29 application/ocsp-response
1514451557.749      5 10.0.0.10 TCP_MISS/200 2194 POST http://ocsp2.globalsign.com/gsalphasha2g2 - HIER_DIRECT/104.31.74.124 application/ocsp-response

Vmware View Client 5.2.0 erschienen

Letzte Woche wurde eine neue Version des View Clients herausgebracht. Etwas untypisch, da normalerweise die Clients zeitgleich mit dem Connection-Server aktualisiert werden – aber gut.
Dafür gibt’s Windows 8 Unterstützung und ein neues Login Feature mit dem sich Login-Links erstellen lassen – die euch dann automatisch mit dem passenden View-Server verbinden.
VMware View Client für Windows 5.2 umfasst die folgenden neuen Funktionen:
Unterstützung für Windows 8 – View Client für Windows 5.2 und View Client with Local Mode 5.2 funktionieren auf Windows 8 Pro- und Enterprise-Clientsystemen im Desktopmodus.
Unterstützung für URI (Uniform Resource Identifier) – Vereinfachen Sie die Anmeldung bei einem View-Desktop für Endbenutzer, indem Sie einen Web- oder E-Mail-Link erstellen, den die Benutzer anklicken können, um View Client zu starten und eine Verbindung zu einem Desktop mit bestimmten Konfigurationsoptionen herzustellen. Sie können z. B. einen Link erstellen, über den ein Endbenutzer aufgefordert wird, lediglich ein Kennwort einzugeben, um anschließend ein bestimmtes Desktop im Vollbildmodus zu öffnen, wobei das PCoIP-Anzeigeprotokoll eingesetzt wird.
View Client für Windows 5.2 | 4 October 2012 | Build: 848202
Release Notes

Nutzungshinweise
Download