Squid Reverse Proxy Login Form Problem
Hallo zusammen,
Umgebung ist ein PfSense CARP Cluster mit Squid Reverse Proxy.
Der Reverse Proxy wird zur Filterung des Exchange Zugriffes genutzt. Aktuell steht noch ein IP Adressen Netz zur Verfügung. In einigen Monaten wird sich das auf eine externe IP reduzieren.
Wir nutzen eine programmierte Kundenumgebung mit einem klassichen Forms Login die derzeit auf einer anderen IP mit NAT läuft.
Heute habe ich dieses System testweise über den Reverse Proxy der Exchange IP laufen lassen und der Login funktioniert nicht. Er springt quasi jedes mal auf die Loginmaske zurück.
In 2 Fällen funktioniert der Login genau 1 mal:
- Squid Service wird neu gestartet
- Local Cache wird gelöscht.
Es scheint also so zu sein, dass der Squid den Login cached und die Anfrage nicht an den Server weitergegeben wird.
Ich habe von diverse Optionen ausprobiert:
- Umgehung von Destinantion IP's
- Umgehung bei der Domain
- Cachen erst ab einer größeren Dateigröße
- Offlinemode
Hilft alles nichts.
Gebe ich temporär die Exchange OWA mal frei, funktioniert der Forms Login dort übrigens.
Hat jemand eine Idee was ich machen kann?
Lg
Theo
Umgebung ist ein PfSense CARP Cluster mit Squid Reverse Proxy.
Der Reverse Proxy wird zur Filterung des Exchange Zugriffes genutzt. Aktuell steht noch ein IP Adressen Netz zur Verfügung. In einigen Monaten wird sich das auf eine externe IP reduzieren.
Wir nutzen eine programmierte Kundenumgebung mit einem klassichen Forms Login die derzeit auf einer anderen IP mit NAT läuft.
Heute habe ich dieses System testweise über den Reverse Proxy der Exchange IP laufen lassen und der Login funktioniert nicht. Er springt quasi jedes mal auf die Loginmaske zurück.
In 2 Fällen funktioniert der Login genau 1 mal:
- Squid Service wird neu gestartet
- Local Cache wird gelöscht.
Es scheint also so zu sein, dass der Squid den Login cached und die Anfrage nicht an den Server weitergegeben wird.
Ich habe von diverse Optionen ausprobiert:
- Umgehung von Destinantion IP's
- Umgehung bei der Domain
- Cachen erst ab einer größeren Dateigröße
- Offlinemode
Hilft alles nichts.
Gebe ich temporär die Exchange OWA mal frei, funktioniert der Forms Login dort übrigens.
Hat jemand eine Idee was ich machen kann?
Lg
Theo
Please also mark the comments that contributed to the solution of the article
Content-Key: 363987
Url: https://administrator.de/contentid/363987
Printed on: April 24, 2024 at 06:04 o'clock
8 Comments
Latest comment
POST-Anfragen (wie sie bei Login-Formularen verwendet werden) können nicht gecached werden. Es kann allerdings passieren, dass nach dem Login etwas per Weiterleitung geladen wird, was nicht gecached werden dürfte.
Das kann auch die Formularseite selbst betreffen, da hier möglicherweise ein Hidden-Field mit einer Session-ID verwendet wird.
Ob wirklich Caching stattfindet, kannst du entweder aus dem Squid-Log herausfinden (da steht dann "CACHE_HIT" dran) oder auch, wenn du mit den Developer-Tools verfolgst, was da passiert. In den Headern, die der Squid mitliefert, ist da normalerweise auch vermerkt, ob da etwas gecached wurde.
Optimalerweise sollte OWA selbst vernünftige Header mitsenden, die das Caching klar verbieten - falls das nicht funktioniert, solltest du mal testweise dem Squid per ACL das Caching sämtlicher Elemte des OWA verbieten (Stichwort: "cache deny all").
Zuletzt noch: Wird durchgängig HTTPS eingesetzt? Also wird der OWA selbst per HTTPS angefragt und der Squid reicht das einfach durch? Dann kann Caching eigentlich komplett ausgeschlossen werden, da Squid ja keine Inhalte mitlesen oder zwischenspeichern kann.
Das kann auch die Formularseite selbst betreffen, da hier möglicherweise ein Hidden-Field mit einer Session-ID verwendet wird.
Ob wirklich Caching stattfindet, kannst du entweder aus dem Squid-Log herausfinden (da steht dann "CACHE_HIT" dran) oder auch, wenn du mit den Developer-Tools verfolgst, was da passiert. In den Headern, die der Squid mitliefert, ist da normalerweise auch vermerkt, ob da etwas gecached wurde.
Optimalerweise sollte OWA selbst vernünftige Header mitsenden, die das Caching klar verbieten - falls das nicht funktioniert, solltest du mal testweise dem Squid per ACL das Caching sämtlicher Elemte des OWA verbieten (Stichwort: "cache deny all").
Zuletzt noch: Wird durchgängig HTTPS eingesetzt? Also wird der OWA selbst per HTTPS angefragt und der Squid reicht das einfach durch? Dann kann Caching eigentlich komplett ausgeschlossen werden, da Squid ja keine Inhalte mitlesen oder zwischenspeichern kann.