HAproxy für 2 Backend Services

Started by jimjohn, April 13, 2021, 04:18:40 PM

Previous topic - Next topic
Hallo Zusammen,

ich möchte über HAproxy 2 Backend-Services verfügbar machen - und zwar unter folgenden (lokalen) IPs:

https://X.X.0.2:443/aaa ===> X.X.3.100:443
https://X.X.0.2:443/bbb ===> X.X.3.105:443

Es will und will nicht ... anbei meine Konfiguration, vielleicht könnt ihr ja helfen.

Danke vorab!
_______________



# Frontend: main-service ()
frontend main-service
    bind X.X.0.2:443 name X.X.0.2:443 ssl  crt-list /tmp/haproxy/ssl/XXX.certlist
    mode tcp
    # tuning options
    timeout client 30s

    # logging options
    # ACL: p: /aaa
    acl acl_60759f3e8d6fd1.60739350 path -i /aaa
    # ACL: p: /bbb
    acl acl_60759f93c7a274.75922385 path -i /bbb

    # ACTION: r_AAA
    use_backend AAA_pool if acl_60759f3e8d6fd1.60739350
    # ACTION: r_BBB
    use_backend BBB_pool if acl_60759f93c7a274.75922385

# Backend: AAA_pool ()
backend AAA_pool
    # health checking is DISABLED
    mode http
    balance source

    # tuning options
    timeout connect 30s
    timeout server 30s
    # WARNING: pass through options below this line
    # add X-FORWARDED-FOR
    option forwardfor
   
    # add X-CLIENT-IP
    http-request add-header X-CLIENT-IP %[src]
    http-reuse safe
    server pve_AAA X.X.3.100:443 ssl alpn http/1.1 verify none

# Backend: BBB_pool ()
backend BBB_pool
    # health checking is DISABLED
    mode http
    balance source

    # tuning options
    timeout connect 30s
    timeout server 30s
    # WARNING: pass through options below this line
    # add X-FORWARDED-FOR
    option forwardfor
   
    # add X-CLIENT-IP
    http-request add-header X-CLIENT-IP %[src]
    http-reuse safe
    server pve_BBB X.X.3.105:443 ssl alpn http/1.1 verify none


Eine Fehlermeldung und Beschreibung des Fehlerbildes wäre ganz nett.
Oder steht in Deinen Browser beim Laden der Seite "Bitte warten, es will und will nicht"?

Wenn du einen der Backend Pools testweise als default im Frontend hinterlegst, kommst du dann zumindest auf den schonmal drauf?
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

Und vor allem über welche Unterscheidung willst du auf die Backend Services? Andere Domain? Ist die richtig eingetragen und konfiguriert? Gibts dafür die korrekten ACLs und Einträge?
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Quote from: lfirewall1243 on April 14, 2021, 08:46:25 AM
Wenn du einen der Backend Pools testweise als default im Frontend hinterlegst, kommst du dann zumindest auf den schonmal drauf?

Ja, das funktioniert seit Wochen problemlos. Nun kommt halt ein zweiter Service hinzu. Ich vermute ich hatte vorher schon falsche ACLs.

Quote from: jimjohn on April 14, 2021, 11:01:14 AM
Quote from: lfirewall1243 on April 14, 2021, 08:46:25 AM
Wenn du einen der Backend Pools testweise als default im Frontend hinterlegst, kommst du dann zumindest auf den schonmal drauf?

Ja, das funktioniert seit Wochen problemlos. Nun kommt halt ein zweiter Service hinzu. Ich vermute ich hatte vorher schon falsche ACLs.
Dann passt was mit deinen Regeln bzw. Bedingungen nicht

Mach Mal Screenshots davon
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

Quote from: JeGr on April 14, 2021, 10:04:00 AM
Und vor allem über welche Unterscheidung willst du auf die Backend Services? Andere Domain? Ist die richtig eingetragen und konfiguriert? Gibts dafür die korrekten ACLs und Einträge?

Ich stelle es mir so vor (alles spielt sich im lokalen Netzwerk hinter der OPNsense ab).

https://X.X.0.2/aaa liefert mir die Login-Seite für Service aaa, Zugriffe auf URLs funktionieren so: https://X.X.0.2/aaa/test/123

Selbiges mit dem anderen Service:

https://X.X.0.2/bbb/test/123 bringt mich auf meinen zweiten Service.

Quote from: CoolTux on April 14, 2021, 06:24:07 AM
Eine Fehlermeldung und Beschreibung des Fehlerbildes wäre ganz nett.
Oder steht in Deinen Browser beim Laden der Seite "Bitte warten, es will und will nicht"?

Tut mir leid, bin neu bei HAproxy. Dachte der Config-File würde schon alle Infos enthalten, die ihr braucht.  :)

Quote from: lfirewall1243 on April 14, 2021, 11:01:47 AM
Quote from: jimjohn on April 14, 2021, 11:01:14 AM
Quote from: lfirewall1243 on April 14, 2021, 08:46:25 AM
Wenn du einen der Backend Pools testweise als default im Frontend hinterlegst, kommst du dann zumindest auf den schonmal drauf?

Ja, das funktioniert seit Wochen problemlos. Nun kommt halt ein zweiter Service hinzu. Ich vermute ich hatte vorher schon falsche ACLs.
Dann passt was mit deinen Regeln bzw. Bedingungen nicht

Mach Mal Screenshots davon

Welche brauchst du genau? Also welche Tabs im OPNsense HAProxy Plugin? Sorry für mein Unwissen.  :-\

Quote from: jimjohn on April 14, 2021, 11:05:02 AM
Quote from: lfirewall1243 on April 14, 2021, 11:01:47 AM
Quote from: jimjohn on April 14, 2021, 11:01:14 AM
Quote from: lfirewall1243 on April 14, 2021, 08:46:25 AM
Wenn du einen der Backend Pools testweise als default im Frontend hinterlegst, kommst du dann zumindest auf den schonmal drauf?

Ja, das funktioniert seit Wochen problemlos. Nun kommt halt ein zweiter Service hinzu. Ich vermute ich hatte vorher schon falsche ACLs.
Dann passt was mit deinen Regeln bzw. Bedingungen nicht

Mach Mal Screenshots davon

Welche brauchst du genau? Also welche Tabs im OPNsense HAProxy Plugin? Sorry für mein Unwissen.  :-\
Alles gut :)

Eigentlich nur von deinen Bedingungen/Conditions unter dem Rule Tab
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support


Quote from: jimjohn on April 14, 2021, 11:17:21 AM
Anbei die Screenshots.  :) :) :)
Setze die Bedingung mal auf "Path starts with" statt matches

da sich nach dem /aaa/X ja noch Sachen ändern würde er bei "matches" nicht greifen

(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

April 14, 2021, 11:52:00 AM #12 Last Edit: April 14, 2021, 11:57:26 AM by jimjohn
Quote from: lfirewall1243 on April 14, 2021, 11:20:16 AM
Quote from: jimjohn on April 14, 2021, 11:17:21 AM
Anbei die Screenshots.  :) :) :)
Setze die Bedingung mal auf "Path starts with" statt matches

da sich nach dem /aaa/X ja noch Sachen ändern würde er bei "matches" nicht greifen

Funktioniert leider nicht:

503 Service Unavailable
No server is available to handle this request.

Muss ich bei dem "Public Service" die Regeln auswählen?

Quote from: lfirewall1243 on April 14, 2021, 11:20:16 AM
Quote from: jimjohn on April 14, 2021, 11:17:21 AM
Anbei die Screenshots.  :) :) :)
Setze die Bedingung mal auf "Path starts with" statt matches

da sich nach dem /aaa/X ja noch Sachen ändern würde er bei "matches" nicht greifen

Funktioniert leider nicht:

503 Service Unavailable
No server is available to handle this request.

Muss ich bei dem "Public Service" die Regeln auswählen?

Wenn ich im Public Service den Default Pool setze, komme ich jeweils auf die Server aaa und bbb ... die Pools sind also auch korrekt konfiguriert. Mensch ...  ::) ;D

Quote from: jimjohn on April 14, 2021, 11:52:00 AM
Quote from: lfirewall1243 on April 14, 2021, 11:20:16 AM
Quote from: jimjohn on April 14, 2021, 11:17:21 AM
Anbei die Screenshots.  :) :) :)
Setze die Bedingung mal auf "Path starts with" statt matches

da sich nach dem /aaa/X ja noch Sachen ändern würde er bei "matches" nicht greifen

Funktioniert leider nicht:

503 Service Unavailable
No server is available to handle this request.

Muss ich bei dem "Public Service" die Regeln auswählen?

Ja die Regeln musst du im Frontend hinterlegen
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support