# Reverse Proxys und Load Balancer
ELO Modern Authentication ist grundsätzlich mit Reverse Proxys kompatibel, sofern diese die X-Forwarded-Header senden.
# Grundlagen
Der grundlegende Betrieb von ELO Modern Authentication verläuft wie folgt:
- Der Benutzer authentifiziert sich über den Identitätsanbieter oder lokal, je nach Anwendungsfall.
- Der Browser wird nach der Authentifizierung zurück zu ELO geleitet.
Die Zuordnung der Benutzer erfolgt immer anhand der hinterlegten E-Mail-Adresse.
# Ablauf
Der folgende Ablaufplan zeigt den prinzipiellen Ablauf der Anmeldung über ELO Modern Authentication und Microsoft Azure.

# Beispiel
https://example.org --proxy to-> http://private-network-vm:9090
In diesem Beispiel sollte der Proxy bei jeder HTTP-Anfrage die folgenden Header senden:
X-Forwarded-Proto: https
X-Forwarded-Host: example.org
X-Forwarded-Port: 443
Andernfalls weiß das Plug-in Auth2 nur von der lokalen URL http://private-network-vm:9090, aber nicht, dass die Anfrage weitergeleitet wurde. Das führt zu falschen Weiterleitungen und anderen Problemen.
# Überprüfung der Header-Einstellungen
Einige Reverse Proxys fügen die Header automatisch hinzu, bei anderen ist dies optional. Bei manchen Reverse Proxys muss dies explizit konfiguriert werden.
Ob die Header korrekt eingestellt sind, können Sie in der ELO Administration Console im Bereich Anmeldekonfiguration > Tab Einstellungen > Erkannte Proxy-Header überprüfen.
# Microsoft Anwendungsproxy
Wird bei der Anmeldung mit ELO Modern Authentication (Auth2) über ein Microsoft-Entra-Anwendungsproxy (App Proxy) die Meldung Invalid redirect_uri / response_type im Browser ausgegeben, kann folgende Konfiguration im Microsoft-Azure-Portal angepasst werden, damit die Anmeldung erfolgreich durchgeführt wird.
Melden Sie sich am Microsoft Azure Portal an: https://portal.azure.com/ (opens new window)
Wählen Sie Microsoft Entra ID.
Wählen Sie in der Sidebar Verwalten > Unternehmensanwendungen.
Wählen Sie die entsprechende App aus.
Die Übersicht für die App erscheint.
Wählen Sie in der Sidebar Verwalten > Anwendungsproxy.
Wählen Sie den Tab Erweitert.
Deaktivieren Sie die Optionen Übersetzen von URLs in Headern und Übersetzen von URLs im Anwendungstext.

# Load Balancer
Eingesetzte Load Balancer müssen IP-sticky sein. Anfragen vom selben Client müssen anhand ihrer IP-Adresse immer an denselben Backend-Server weitergeleitet werden.
Für native Clients ist eine Cookie-basierte Stickiness allein nicht ausreichend und darf daher nicht als Ersatz für die IP-basierte Affinität verwendet werden.