SAP Web Dispatcher – Zertifikate für mehrere Domains (SNI)

(Last Updated On: 20. Oktober 2017)

Wenn Sie einen SAP Web Dispatcher als Reverse Proxy einsetzen und über diesen HTTPs-verschlüsselten Verkehr leiten wollen, bekommen Sie ein Problem, sobald Sie mehrere Domains und/oder IP-Adressen ansprechen wollen. Für jede Domain, die ein Client anfrägt müssen Sie ihm das dazu passende SSL-Zertifikat bereitstellen. Zeigen Sie ihm serverseitig ein Zertifikat, welches nicht zur angefragten Domain passt, bekommt der Besucher eine Fehlermeldung und automatisierte Backend-Prozesse verweigern häufig den Dienst. Das gleiche Problem haben Sie auch ohne den SAP Web Dispatcher, wenn Sie direkt mit dem Internet Communication Manager (ICM) sprechen wollen. Für klassische Webserver habe ich diese Problematik schon in diesem Beitrag angesprochen und über SNI gelöst. Nun widmen wir uns der Problematik im SAP-Umfeld.

Die beiden Szenarien

Grundsätzlich kann Sie diese Problematik in zwei Szenarien treffen:

  • Szenario 1: Der SAP Web Dispatcher oder ICM horcht immer auf der selben IP, soll jedoch mehrere Domains unterstützen, die auf die gleiche IP-Adresse zeigen
  • Szenario 2: Der SAP Web Dispatcher horcht auf mehreren IPs, und jede der unterstützten Domains zeigt auf eine andere

Szenario 1

Wenn beispielsweise zwei Domains haben, die auf die selbe IP-Adresse zeigen, dann können Sie dieses Problem lösen, indem Sie entweder

  • Szenario 1 – Lösung 1: für jede Domain dem Web Dispatcher einen anderen Port geben
  • Szenario 1 – Lösung 2: oder den Web Dispatcher für jede Domain nicht nur auf der selben IP, sondern auch auf der selben IP (bspw. Port 443) horchen lassen, und stattdessen SNI aktivieren.

 

Szenario 1 – Lösung 1:

Beispiel Sie haben zwei Hostnamen

  • portal.mycompany.com
    und
  • ecc.mycompany.com

und beide zeigen auf die IP Adresse 10.10.10.10.

Lösen Sie das Problem wie folgt. erzeugen Sie zunächst zwei .pse-Dateien. Jede PSE enthält das Zertifikat zu jeweils einer der beiden Domains. Nennen Sie die PSE Datei für die Domain portal.mycompany.com portal.pse und die PSE für die Domain ecc.mycompany.com ecc.pse.

Konfigurieren Sie in der Konfigurationsdatei des Web Dispatchers folgende Parameter

ssl/server_pse = ecc.pse # kann auch portal.pse sein, spiel keine Rolle
#Konfiguration fuer die PSE portal.mycompany.com
icm/ssl_config_0 = CRED=portal.pse
#Konfiguration fuer die PSE ecc.mycompany.com
icm/ssl_config_1 = CRED=ecc.pse
#Oeffnen des Ports fuer portal.mycompany.com
icm/server_port_0 = PROT=HTTPS, PORT=443, SSLCONFIG=ssl_config_0
#Oeffnen des Ports fur ecc.mycompany.com
icm/server_port_1 = PROT=HTTPS, PORT=444, SSLCONFIG=ssl_config_1

Von nun an erreichen sie die Domain ecc.mycompany.com erfolgreich über Port 444 und portal.mycompany.com erfolgreich über Port 443.

Szenario 1 – Lösung 2:

Auch in diesem Beispiel haben wir die beiden Hostnamen

  • portal.mycompany.com
    und
  • ecc.mycompany.com

Erzeugen Sie auch hier zwei .pse-Dateien. eine PSE enthält das TLS Zertifikat zu portal.mycompany.com und heißt portal.pse, die andere PSE enthält das Zertifikat zu ecc.mycompany.com und heißt ecc.pse.

Konfigurieren Sie im SAP Web Dispatcher die folgenden Konfigurationswerte.

#Festlegen der SSL Konfigurationm
icm/ssl_config_0 = CRED=SAPSSLS.pse, SNI_CREDS=ecc.pse,portal.pse
#Oeffnen der Ports fuer beide Hostnamen ueber SNI
icm/server_port_0 = PROT=HTTPS, PORT=443, SSLCONFIG=ssl_config_0

Szenario 2

In diesem Szenario horcht der SAP Web Dispatcher nun auf zwei IP-Adressen. Jede der beiden Domains zeigt auf eine andere IP-Adresse. Hierbei gehen wir davon aus dass,

  • portal.mycompany.com auf 10.10.10.10
    und
  • ecc.mycompany.com auf 10.10.10.20

zeigt. Auch hier speichern wir die PSE für portal.mycompany.com unter portal.pse und die PSE für ecc.mycompany.com als ecc.pse. Konfigurieren Sie den Web Dispatcher wie folgt.

ssl/server_pse = ecc.pse # kann auch portal.pse sein
#Konfiguration fuer portal.mycompany.com
icm/ssl_config_0 = CRED=portal.pse
#Konfiguration fuer ecc.mycompany.com
icm/ssl_config_1 = CRED=ecc.pse
#Oeffnen des Ports fuer ECC Domain
icm/server_port_0 = PROT=HTTPS, PORT=443, HOST=10.10.10.20, SSLCONFIG=ssl_config_1
#Oeffnen des Prots fuer portal Domain
icm/server_port_1 = PROT=HTTPS, PORT=443, HOST=10.10.10.10, SSLCONFIG=ssl_config_0

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Das könnte Dich auch interessieren...

1 Antwort

  1. 20. Oktober 2017

    […] Und weiter geht es in der kurzen Reihe der SNI-Konfiguration im SAP-Umfeld. SNI adressiert die grundsätzliche Problematik, dass wenn ein Webserver auf einer einzigen IP-Adresse horcht und dabei über mehrere Domains erreicht werden kann, dass er dem Anfragenden das richtige TLS-Zertifikat zeigen muss – nämlich das Zertifikat für die Domain, die der Client gerade angefragt hat. Damit das allerdings funktioniert, muss auch der Client das SNI-Verfahren unterstützen. Und genau diesem Profil widmen wir uns in diesem Beitrag. Lesen Sie außerdem meinen Beitrag über die Lösung der Problematik auf der Serverseite. […]

Kommentar verfassen