
Das Backendsystem ist ein Davical-Server. Ich baue damit einen eigenen Kalender auf. Es könnte aber auch jeder andere Webservice sein mit eigener Benutzerverwaltung.
Fehlerbeschreibung:
Wenn ich mich am Dienst anmelden möchte mit der öffentlichen Adresse, die am Interface ankommt, auf dem HAProxy lauscht (Beispiel: https://calserver.example.org), dann wird als erstes nach dem Benutzername und Passwort gefragt, welches http_auth vom HAProxy erwartet (siehe Userlist "calendarauth").
Danach wird nach dem eigentlichen Benutzername und Passwort auf dem Backendserver gefragt. Alle weiteren requests enthalten dann den http_auth Benutzername (unser-zugang).
Ich benötige also den Konfigurationsparameter, der es ermöglicht, dass nach erfolgtem http_auth am HAProxy, nur noch die gewünschten Daten durch den Proxy zu senden. Die Verbindung zum HAProxy erfolgt per https. Aus dem Proxy zum Backend auch wieder https.
Die entsprechenden Stellen in der haproxy.conf sehen so aus:
Code: Alles auswählen
userlist calendarauth
user unser-zugang password $6$123AJggM.Yuuuu111BBfff423tg.235
#------------------
# frontend instances
#------------------
frontend calserver.example.org
bind x.x.x.x:443 ssl crt /etc/haproxy/ssl/
acl calendar-auth http_auth(calendarauth)
reqadd X-Forwarded-Proto:\ https
redirect scheme https if !{ ssl_fc }
http-request auth realm calendar unless calendar-auth
default_backend calendar_backend
#------------------
# backend instances
#------------------
backend calendar_backend
option http-server-close
option httpclose
option forwardfor except 127.0.0.0/8
redirect scheme https if !{ ssl_fc }
server calendar 192.168.55.55 ssl verify none