Problem
Man möchte einen Webserver hinter einem IIS als „Frontend“ Reverse Proxy via ARR (Application Request Routing) betrieben und dem IIS das SSL-Offloading überlassen.
Der reverse Proxy ist schnell eingerichtet, aber wie vermeidet man, das ein ACME-Tool (beispielsweise win-acme) an der Validierung des Zertifikates scheitert, weil der IIS die Requests an /.well-known/acme-challenge/* ebenfalls an den Webserver weiterleitet?
Lösung
Man verwendet verschiedene Regeln um das zu verhindern. Entweder erstellt man diese im wundervollen IIIS GUI oder bearbeitet die zugehörige web.config:
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<!-- Letsencrypt-Ausnahme -->
<rule name="LetsEncryptException" stopProcessing="true">
<match url=".well-known/acme-challenge/*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="None" />
</rule>
<!-- Redirect auf HTTPS -->
<rule name="Redirect-HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://DEINEDOMAIN.COM/{R:1}" appendQueryString="false" redirectType="Found" />
</rule>
<!-- Redirect root "/" in Verzeichnis (oft hilfreich bei Tomcat Apps) -->
<rule name="redirect-to-subdir" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="https://DEINEDOMAIN.COM/DEINVERZEICHNIS/WHATEVER" />
</rule>
<!-- Reverse Proxy -->
<rule name="ReverseProxy" stopProcessing="false">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://INTERNERSERVER:8059/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Ich weiß nicht wer du bist und woher du kommst. Aber ich weiß eine Sache sicher, du bist Gut!
Danke für deine freiwillig und großzügige Arbeit 🙂
LG aus Aschaffenburg
Cristian
Vielen Dank für das Kompliment 🙂 Wir sind tatsächlich mehrere Admins, nicht nur einer. Aber dein Lob ist angekommen, wir hoffen wir konnten dir helfen.
Du musst ein Riesenhirn haben hat alle Probleme gelöst