Veröffentlichung über https Reverse-Proxy durchführen
April 2022
Nachfolgende Konfigurationsbeispiele und Erläuterungen sind als Hilfestellung für Einrichtung und Konfiguration bei der Veröffentlichung des UCServer und die Einrichtung der ProCall Mobile Apps für den Zugriff von extern (außerhalb des lokalen Netzwerks) gedacht.
Sie betreffen nicht die estos Software selbst und werden daher ohne Gewähr und ohne Support durch die estos GmbH zur Verfügung gestellt.
Welchen https Reverse-Proxy kann ich einsetzen?
Grundsätzlich können alle standardkonformen http Reverse-Proxy Server verwendet werden, die http GET und POST und Websocket Verbindungen (RFC 6455) ermöglichen.
Als Hilfestellung wird hier konkret auf die Einrichtung von zwei verschiedenen Proxy-Servern eingegangen. Je nach Fähigkeiten und Präferenzen können sowohl Microsoft Windows als auch Linux als Betriebssystem gewählt werden.
Microsoft Windows kompatibel
- Microsoft Internet Information Services (IIS)
Linux kompatibel
- nginx
Was muss ich im UCServer konfigurieren?
IP Ports festlegen
In der UCServer Verwaltung können Sie im Menü unter Extras >> Netzwerkschnittstellen die Netzwerkeinstellungen des UCServers einsehen und ändern. In der Standardeinstellung beantwortet der UCServer Anfragen über http auf Port 7224 und https auf Port 7225. Im Normalfall muss diese Einstellung nicht geändert werden.
SSL Zertifikat hinterlegen
Im Falle eines eines http Reverse-Proxy werden alle Anfragen aus dem Internet zuerst vom Proxy entgegengenommen und danach an den UC WebService weitergeleitet, damit ist der Proxy auch für die Verschlüsselung der Verbindung verantwortlich. Wir empfehlen dringend den Einsatz von https mit einem vertrauenswürdigen SSL Zertifikat. Falls notwendig beantragen Sie ein SSL Zertifikat für Ihren DNS-Namen bei einer öffentlichen Zertifizierungsstelle. Falls Sie mit einem selbst signierten Zertifikat („Self Signed Certificate“) arbeiten, ist die Verbindung verschlüsselt, aber nicht abhörsicher und die Nutzung von Browser Applikationen ist nicht möglich.
Je nach Anforderung können Sie die Anfragen innerhalb Ihres LAN über unverschlüsseltes http oder mit TLS Verschlüsslung weiterleiten. Sollten Sie auch innerhalb Ihres LAN eine verschlüsselte Verbindung bevorzugen, können Sie in der UCServer Verwaltung im Menü unter Extras >> Netzwerkschnittstellen >> WebService https ein Zertifikat im PFX Format hinterlegen.
Konfigurationsbeispiele http-Reverse Proxy
Microsoft Internet Information Services (IIS)
Voraussetzungen
- Microsoft Internet Information Services (IIS) ab Version 10
- WebSocket Protocol Feature für IIS
- Application Request Routing (ARR) ab Version 3
(https://www.iis.net/downloads/microsoft/application-request-routing) - URL Rewrite Modul für IIS ab Version 2
(https://www.iis.net/downloads/microsoft/url-rewrite)
Installation und Vorbereitung Microsoft Internet Information Services (IIS)
- Installieren Sie den Microsoft Internet Information Services (IIS) auf dem gewünschten Server. Laden Sie dazu entweder das Installationspaket herunter oder fügen Sie die Rolle über die Serververwaltung hinzu.
- Fügen Sie das Feature WebSocket Protocol hinzu.
- Installieren Sie das URL Rewrite Modul.
- Installieren Sie das Application Request Routing (ARR) Paket.
- Konfiguration Microsoft Internet Information Services (IIS)
- Um die Proxy-Funktion herzustellen, müssen im nächsten Schritt alle beteiligten Komponenten eingerichtet und entsprechend Ihrer Infrastruktur konfiguriert werden.
SSL Zertifikat konfigurieren
Es wird empfohlen, ein vertrauenswürdiges SSL-Zertifikat zu verwenden. Richten Sie ein Server Zertifikat für den IIS ein, gehen Sie dabei wie von Microsoft vorgeschlagen vor: https://technet.microsoft.com/en-us/cc731977
Einrichten einer Reverse Proxy Webseite
- Fügen Sie eine neue Webseite hinzu.
- Füllen Sie die notwendigen Felder aus.
- Die Pfad-Angabe ist nicht sonderlich relevant, da keine Webseite ausgeliefert wird. Der IIS wird dennoch trotzdem eine web.config Datei anlegen. estos empfiehlt den Pfad:
C:\inetpub\wwwroot\ReverseProxy
- Verwenden sie https als Binding Type
- Hinterlegen Sie den Host Name, der Ihrem DNS-Eintrag und Zertifikat entspricht.
- Wählen Sie das vorher hinterlegte Zertifikat aus.
- Die Pfad-Angabe ist nicht sonderlich relevant, da keine Webseite ausgeliefert wird. Der IIS wird dennoch trotzdem eine web.config Datei anlegen. estos empfiehlt den Pfad:
- URL - Doppel-Klicken Sie auf die neu angelegte Webseite und öffnen Sie URL Rewrite
- Klicken Sie Add Rule(s)… und wählen Sie Reverse Proxy
- Wenn Sie folgende Warnung erhalten "Proxy Functionality must be enabled... ", bestätigen Sie mit OK.
- Rewrite Modul konfigurieren: Machen Sie im nächsten Dialog Angaben, wohin die Anfragen umgeleitet werden sollen.
Tragen Sie unter Inbound Rules den DNS-Namen oder die IP-Adresse ein, auf die die Anfragen umgeleitet werden sollen (z. B. UCServer, Firewall). Ergänzen Sie außerdem den gewünschten Port.
- Wenn Sie SSL Offloading aktivieren, werden die Anfragen unverschlüsselt weitergeleitet. Im Rahmen der weiteren Ausführungen wird davon ausgegangen, dass die Option aktiviert wurde.
- Fügen Sie oben zwei Regeln hinzu: die erste für Forward websocket traffic und die zweite für Forward normal traffic nach folgenden Regeln:
Pattern | Action Type | Action URL |
---|---|---|
^(.+)s://<DNS NAME>(:443)?/ws/client/(.*) | Rewrite | {R:1} ://<REWRITE TARGET>:<REWRITE TARGET PORT>/ws/client/{R:3} |
^(.+)s://<DNS NAME>(:443)?/(.*) | Rewrite | {R:1} ://<REWRITE TARGET>:<REWRITE TARGET PORT>/{R:3} |
nginx
Installation nginx
Installieren Sie nginx über die Paketverwaltung Ihrer Linux Distribution, z. B. auf Ubuntu:
$ sudo apt-get update
$ sudo apt-get install nginx
Konfiguration nginx
Legen Sie unter
/etc/nginx/sites-Available
eine neue Konfigurationsdatei mit Namen reverseproxy an und kopieren Sie die unten beschriebene Beispielkonfiguration in die Datei.- Es wird empfohlen, ein vertrauenswürdiges SSL-Zertifikat zu verwenden. Ergänzen Sie die SSL-Konfiguration gemäß http://nginx.org/en/docs/http/configuring_https_servers.html.
- Tauschen Sie in dem Beispiel
<DNS NAME>
mit Ihrem DNS Eintrag,<REWRITE TARGET>
mit dem gewünschten Weiterleitungsziel und<PORT>
mit dem konfigurierten Port aus. - Aktivieren Sie die Konfiguration, indem Sie unter
/etc/nginx/sites-enabled
einen symbolischen Link auf die Konfigurationsdatei erzeugen:$ cd /etc/nginx/sites-enabled
$ sudo ln -s /etc/nginx/sites-Available/reverseproxy reverseproxy
- Starten Sie den nginx Dienst neu.
sudo systemctl restart nginx.service
odersudo service nginx restart
Beispielkonfiguration nginx
|