Как настроить перенаправление IIS rewrite
Имею веб-приложение на домене app.domain.com, которое работает на 5000 порту. Чтоб клиент мог подключаться без указания порта, настроил редирект:
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://localhost:5000/{R:1}" />
</rule>
И это работает. Далее хочу настроить редирект на https, чтобы все подобные запросы:
http://app.domain.com/
http://app.domain.com:5000/
https://app.domain.com:5000/
редиректили на https://app.domain.com/
, т.е. все подобные запросы редиректились на один нормальный hostname.
Помогите составить правило.
Вот то, что успел попробовать, и это работает неправильно:
<rule name="5000->https" stopProcessing="false">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" matchType="Pattern" pattern="([^/:]*?):5000[^/]*?" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://app.domain.com/{R:1}" />
</rule>
<rule name="http2https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTP_HOST}" pattern="app.domain.com" />
</conditions>
<action type="Redirect" url="https://app.domain.com/{R:1}" />
</rule>