Home
Help
Search
Login
Register
OPNsense Forum
»
International Forums
»
German - Deutsch
»
HAProxy Rules reagieren nicht beim 1. HTTP GET Request - erst nach einem Retry
« previous
next »
Print
Pages: [
1
]
Author
Topic: HAProxy Rules reagieren nicht beim 1. HTTP GET Request - erst nach einem Retry (Read 503 times)
HaNiTLG
Newbie
Posts: 1
Karma: 0
HAProxy Rules reagieren nicht beim 1. HTTP GET Request - erst nach einem Retry
«
on:
May 09, 2023, 06:31:21 pm »
Hey @all,
aktuell habe ich folgendes Problem bei der aktuellsten OPNsense + HAProxy Version:
Ich versuche über mein HAProxy mehrere Subdomains über den HTTPS Port zu verknüpfen, soweit so gut. Leider habe ich allerdings das Problem, dass bei HAProxy meine Rules beim 1. HTTP GET Request nicht reagieren und immer nur der Default-Pool, welcher beim frontend zwingend definiert werden muss, zuerst reagiert. Erst bei einem Retry reagieren die Frontend Rules.
Um das genau verständlich zu schreiben, hier mein aktueller Aufbau:
- Real Servers: <die Webservern, welche mit den Backend Teilen verknüpft sind>
- Backend Pools: Backend-Pool-Default, Backend-Pool-1, Backend-Pool-2, Backend-Pool-3
- Frontend: Nur ein einziger frontend Pool, welcher auf HTTPS gebunden ist. Als Default Backend Pool wurde der Backend-Pool-1 verknüpft.
Nun möchte ich mittels den Conditions & Rules ganz normal definieren welche Subdomain zu welchem Backend Pool redirected werden sollte.
Bedeutet, ich habe als condition geschrieben, dass wenn der host mit "pool1" startet und als rule erklärt, dass es dann zum Backend-Pool-1 redirecten soll. Beim pool2 und pool3 dann dementsprechend dasselbe. Backend-Pool-Default wurde nur definiert, dadurch, dass frontend zwingend einen default backend Pool benötgt und die "none" Funktion beim default backend pool dann dementsprechend den frontend Teil deaktivieren würde.
Soweit so gut, ich habe nun einen default backend pool den Backend-Pool-Default ausgewählt und die definierten rules für die Subdomains im frontend hinzugefügt und die aktuelle Settings applied.
Die Rules funktionieren "grundsätzlich", allerdings lande ich
immer
beim 1. HTTP GET Request zum Default-Pool. Erst wenn ich einen Retry ausführe, lande ich bei der gewünschten Subdomain. (Das lustige bei der Sache ist, wenn ich bei der Condition die Condition verneine, funktioniert es bei der Verneinung.)
Dieser Fehler kann man auch nachbauen (mit den oben geschrieben Steps) und beispielsweise mittels Postman ein HTTP GET Request senden und identifizieren. Ist das evtl. ein Software-Fehler von HAProxy? Gibt es eventuell ein Workaround?
Bei einem Client-Browser funktioniert das allerdings lustigerweise problemlos. Nur wenn man ein HTTP GET Request (beispielsweise mittels Postman) versucht zu senden, reagiert immer zuerst der Default backend pool aus dem frontend Teil und wenn man den HTTP GET Request erneut sendet, reagiert die Rule und man wird dann dementsprechend zur richtigen Subdomain weitergeleitet. Ist ein ziemlich mieser Bug und ich konnte leider hierfür keine Lösung finden.
Eventuell weiß wer hier ein workaround oder eine Lösung zum Problem.
Würde mich wirklich sehr über jede Hilfe freuen! Danke im Voraus schon für eure Hilfe!
LG
Hani
#EDIT: Ist gelöst, ist leide rein Known Bug von HAProxy wenn ein Default-Pool definiert wurde. Mal sehen, ob die Entwickler das in Nahe Zukunft beheben werden. Deshalb kann es geschlossen werden.
#CLOSED
«
Last Edit: May 10, 2023, 09:38:24 am by HaNiTLG
»
Logged
Print
Pages: [
1
]
« previous
next »
OPNsense Forum
»
International Forums
»
German - Deutsch
»
HAProxy Rules reagieren nicht beim 1. HTTP GET Request - erst nach einem Retry