Nutzung des IIS (Internet Information Server) als Reverse Proxy

Um verschiedene Webdienste mit der gleichen URL nutzen zu können (z.B. ActiveSync und WebApp-API) wird ein Reverseproxy benötigt. Dieser kann sich gleichzeitig auch um die SSL Zertifikate für eine verschlüsselete Kommunikation kümmern.

Natürlich ist es auch möglich in einer Firewall/UTM wir Securepoint oder Sophos einen Reverseproxy mit der entsprechenden Funktionalität zu konfigurieren

Dieser Beitrag richtet sich an Server Administratoren mit Erfahrung im Umgang mit dem Servermanager und Powershell

Die Folgende Anleitung setzt voraus, das Sie im IIS keine weiteren Funktionen nutzen möchten

  • Wählen Sie auf der linken Seite den Server aus und klicken dann rechts auf “Application Request Routing Cache”

  • Klicken Sie dann am rechten Rand auf “Server Proxy Settings” und aktivieren Sie dort den Proxy

  • Klicken Sie am rechte Rand auf “Übernehmen”

  • Klicken Sie links in der Baumansicht nun auf Sites-Default-Web-Site. Klicken Sie dort mit der rechten Maustaste und wählen dann “Im Explorer öffnen”

  • Löschen Sie die iisstart-Dateien in dem Ordner (wenn auf dem Server sonst keine Webseiten liegen, ist der Ordner anschließend leer)

  • Erstellen Sie mit einem Texteditor Ihrer Wahl die Datei “web.config” und kopieren Sie diesen Inhalt hinein

<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <clear /> <rule name="ReverseProxyInboundRule2" enabled="true" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTPS}" pattern="off" /> </conditions> <action type="Redirect" url="https://{HTTPS_HOST}{REQUEST_URI}" /> </rule> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*activesync.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="http://127.0.0.1:50080/{R:1}" /> </rule> <rule name="ReverseProxyInboundRule3" stopProcessing="true"> <match url="(.*)" /> <action type="Rewrite" url="http://127.0.0.1:8078/{R:1}" /> <conditions> <add input="{REQUEST_URI}" pattern="^/\.well-known/*" negate="true" /> <add input="{HTTPS}" pattern="on" /> </conditions> </rule> </rules> </rewrite> <security> <requestFiltering allowDoubleEscaping="true" /> </security> </system.webServer> </configuration>
  • Öffnen Sie den antony Hub und notieren Sie sich den http-Port für die Web-Api

  • Öffnen Sie den IIS Manager, öffnen Sie Sites->Default-Web-Site und klicken dann auf “URL Rewrite”

  • Klicken Sie doppelte auf die letzte Regel und passen falls nötig den Port auf die Web-API an (ganz unten)

  • Jetzt folgt die Installation von “Certifiy The Web” um SSL Zertifikate für die Domäne zu erzeugen