Настройка редиректа HTTP на HTTPS в IIS на Windows Server
После того, как вы установили 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:
Такое правило редиректа HTTP на HTTPS в IIS будет работать на актуальных версиях Windows Server 2022,2019, 2016 и Windows 10,11.
Windows Server 2016
Настройка редиректа HTTP на HTTPS в IIS на Windows Server