pfSense HAProxy als Reverse Proxy mit URL Problem
-
Willkommen im Klub!
@bosco said in pfSense HAProxy als Reverse Proxy mit URL Problem:
das hier wird mein erster Beitag.
Steiler Start! Bei meinem ersten Posting hier war HAProxy noch kein Thema.
@bosco said in pfSense HAProxy als Reverse Proxy mit URL Problem:
Das input%40boscolab.de ist für den Login im Webmail notwendig.
Für das Frontend gibt es ja eine Menge Konfigurationsmöglichkeiten, was die Übereinstimmung des Ausdrucks betrifft. Vermutlich hast du hier "Path contains" ausgewählt. Stelle das auf "Host contains" oder "Host ends" um, dann sollte das Problem weg sein.
-
Danke für deine Antwort. :)
Ich habe mal versucht das umzustellen auf "Host contains" oder "Host ends" , leider ohne Erfolg. Was mache ich hier falsch?Bei mir sieht das aktuell so aus:
-
Und ich nehme an, du hast das soweit getestet, dass du sagen kannst, das Problem tritt nur mit HAProxy auf.
Und du verwendest HTTPS Offloading in HAProxy?
-
@viragomann Ich habe keine andere Möglichkeit das zu testen. Ich bin mir aber sehr sicher das es der HAProxy ist.
Ja ich habe im Frontend HTTP / HTTPS (offloading) eingestellt.
-
Ist dein Webserver / deine Webapplikation dahinter etwa so konfiguriert, dass sie HTTP auf HTTPS umleitet?
Dann würde sich die Sache im Kreis drehen und könnte zu solchen Fehlern im Browser führen. -
@viragomann Ich habe den Fehler gefunden! Du hast mich auf die richtige Lösung gebracht, es war die Umleitung im HAProxy!
Ich habe im Frontend HTTP die Regel umgestellt auf Host matches. Vorher hatte ich Path ends with eingestellt.
Danke! :)
-
Ah schade, jetzt wollte ich gerade lösen
Egal, erstmal ebenfalls willkommen @bosco. Und dein Hinweis war deine Fehlermeldung ;) Redirection Loops sind sehr sehr häufig auf falsche Konfiguration des Proxies in Verbindung mit dem Backend zurückzuführen. Du schreibst ggf. was am Proxy um, was im Backend wieder umgeschrieben wird, was einen neuen Request auslöst, der wieder umgeschrieben ... you get the drift
Wenn der Host im Backend nicht mitbekommt, dass etwas schon umgeschrieben wurde und das dann nochmal macht, kann es zu solchen Loops kommen. Einfacher Test ist dann von außen sowas zu nutzen:
https://httpstatus.io/
Dort die URL rein und schauen was passiert. Da sieht man dann (auch sehr genau mit HTTP headern etc.), was genau umgeschrieben wird und ggf. von wem :)
Cheers
\jens -
@JeGr Danke für deine Erläuterung! :) Die Testseite werde ich mir anschauen. Habe aber noch einen kleinen Fehler in den Einstellungen gefunden. Dieser zeigt sich nur wenn ich die Domain ohne www. aufrufe, hier sollte die Weiterleitung auf ein backend erfolgen, ist aber gerade kaputt und ich sehe einen Loop. :)
-
@jegr Nach einiger Zeit konnte ich das letzte Problem noch nicht lösen.
Wenn ich die Adresse boscolab.de ohne www. und ohne blog. eingebe, dann soll es eine Weiterleitung auf blog.boscolab.de geben. Das klappt leider nicht...
Sinnvoll wäre das bei Eingabe von www.boscolab.de und boscolab.de die Adresse getauscht wird zu blog.boscolab.de, also nicht einfach eine Weiterleitung an das backend sonder Adresse austauschen.Die aktuellen Einstellungen sehen so aus:
Wie mache ich das richtig?
Danke
Bosco -
@bosco Hö? Backend? ACLs? Die ACLs und die Umleitungen werden doch auf dem Frontend definiert? Oder sollen das nur Redirects sein? Was ist denn dann eingestellt? Klapp doch mal das Plus auf, so sieht man ja nichts?
-
@jegr Das Plus kann ich nicht aufklappen!
Hier ist noch mal meine aktuelle aktuelle Einstellung:www.bosclab.de -> läuft auf backend: blog.boscolab.de, Adresse bleibt aber www.
blog.boscolab.de -> läuft auf backend: blog.boscolab.de
boscolab.de -> soll auf backend blog.boscolab.de laufen, geht aber nicht...Nun soll es aber so werden:
www.bosclab.de -> Adresse austauschen zu: blog.boscolab.de
blog.boscolab.de -> läuft auf backend: blog.boscolab.de
boscolab.de -> Adresse austauschen zu: blog.boscolab.deIch weiß nicht was ich falsch mache!
-
@bosco Ich verstehe deine Backends nicht. Kannst du die mal genauer posten? Und was versuchst du mit den ACLs im Backend? Alles was ich da sehe ist dass du nur NOCH Mal das gleiche Backend auswählst was für mich keinen Sinn macht.
Frontend verteilt nach Regeln/ACLs auf Backends. Wenn du doch Backends für www, meet, pad etc. schon hast (laut Liste) macht die ACL Sammlung in einem Backend keinen Sinn mehr für mich. Es landen ja schon nur Zugriffe im Backend die da hinsollen, also kein Grund da nochmal irgendwas zu filtern.
ACL und Actions im Backend lohnen sich für mich nur dann, wenn du bspw. Redirecten willst. Was IMHO genau das ist, was du mit boscolab.de -> blog.boscolab.de machen willst. Ergo schickst du beide (ohne www und blog) auf das Blog Backend.
Im Blog Backend kannst du dann eine ACL reinbauen, die Host Match auf boscolab.de (ohne prefix) macht und DA dann als Action kein Backend nimmt (du bist doch schon im Backend!), sondern einen Redirect(!) macht auf https://blog.boscolab.deDann wird https://boscolab.de auf https://blog.boscolab.de umgeleitet und gut.
-
@jegr Sachen wie meet, pad und co. laufen alle korrekt.
Also es geht nur um ein Backend, das ist blog.boscolab.de. ACL soll aber folgendes sein:
blog.boscolab.de
boscolab.de
www.boscolab.deZiel soll immer das gleiche backend sein. Aktuell ist das noch nicht so. Genau wie du geschrieben hast soll es nur Redirect auf blog.boscolab.de sein. Genau das bekomme ich nicht hin.
-
@bosco said in pfSense HAProxy als Reverse Proxy mit URL Problem:
Aktuell ist das noch nicht so. Genau wie du geschrieben hast soll es nur Redirect auf blog.boscolab.de sein. Genau das bekomme ich nicht hin.
Genau das habe ich dir oben geschrieben. Im Backend von Blog einfach NUR den Redirect eintragen, alles andere ist unnötig da.
-
@jegr Ich habe das jetzt mit www.boscolab.de geschafft und ein redirect auf blog.boscolab.de gemacht. Hier war der bereich rule: code 301 location https://blog.boscolab.de entscheidend, das musste ich erst verstehen das hier die Angabe von code u.s.w. wichtig ist.
Allerdings klappt das mit boscolab.de ohne präfix nicht. Was mache ich hier falsch?
Oder ist hier der Fehler in der Access Control lists?
-
@bosco Nochmal die Frage: Die Screenshots sind aus dem Backend? Vom blog Backend? Dann haben da wie gesagt die anderen ACLs nichts drin zu suchen weil die da durch die Frontend Zuweisung eh nie ankommen würden?
Im Frontend wird boscolab.de ohne irgendwas auch auf das Blog Backend geschickt? Oder woanders hin?
Nochmal zum Verständnis:
dein Frontend(!) weist eine ACL via Host match zu. Diese ACL wird dann in der Aktion (immer noch im Frontend) selektiert und wählt dann nach deiner Angabe ein BACKend aus. In diesem Backend kommen dann auch NUR Zugriffe an, die vorher schon durch die Selektion auch dahin geschickt werden. Darum schreibe ich die ganze Zeit dass deine ACLs und Actions im BACKend für alles was NICHT in dieses Backend gehört sinnfrei sind, weil sie eh nie ausgeführt werden!
Also würde ich erstmal die Backends soweit bereinigen, dass da nur drinsteht was da auch sein muss und dann nochmal im Frontend die Zuweisung von boscolab.de checken, ob das auch definitiv auf das blog backend geschickt wird und dort ankommt. Dann sollte der Redirect auch greifen. :)