После того, как вы установили SSL сертификат на веб сайте IIS, нужно настроить правило автоматического перенаправления всех входящих незащищенных HTTP запросов на защищенные URL адреса HTTPS.
Для настройки редиректа трафика в IIS нужно скачать и установить модуль IIS URL Rewrite Module 2.1 (https://www.iis.net/downloads/microsoft/url-rewrite).
Затем откройте консоль Internet Information Services Manager ( InetMgr.exe ) выберите ваш сайт.
Выберите секцию SSL Settings и проверьте что опцию Requre SSL не включена, иначе это вызовет конфликт с правилом перенаправления URL Rewrite (будут появляться ошибки 403.4 forbidden).

Затем перейдите в секцию настройки URL Rewrite.

Создайте новое правило Add Rule -> Blank rule.
Укажите имя правила и измените значения параметров:
- Requested URL ->
Matches the Pattern - Using ->
Wildcards - Pattern ->
*

В блоке Conditions измените Logical Grouping -> Match All и нажмите Add. Укажите
- Condition input ->
{HTTPS} - Check if input string ->
Matches the Pattern - Pattern ->
OFF - Ignore case:
включено

Теперь в блоке Action выберите:
- Action Type ->
Redirect - Redirect URL ->
https://{HTTP_HOST}{REQUEST_URI} - Redirect type ->
Permanent (301)

Сократите правило и перезапустите IIS командой:
iisreset

Откройте браузер и попробуйте открыть ваш сайт по HTTP адресу, вас должно автоматически перенаправить на HTTPS URL.

Также вы можете вручную указать правила редиректа HTTP запросы на HTTPS адреса в файле web.config:
<configuration> <system.webServer> <rewrite> <rules> <rule name="rewrite_rule_Redirect_HTTP_to_HTTPS" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <conditions> <add input="{HTTPS}" pattern="OFF" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Такое правило редиректа HTTP на HTTPS в IIS будет работать на актуальных версиях Windows Server 2022,2019, 2016 и Windows 10,11.

Добавить комментарий