Настройка редиректа 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) .

Не использовать Reqire SSL при включении URL Rewrite в IIS

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

URL Rewrite в IIS

Создайте новое правило Add Rule -> Blank rule .

Укажите имя правила и измените значения параметров:

  • Requested URL -> Matches the Pattern
  • Using -> Wildcards
  • Pattern -> *

правило перенаправления в IIS

В блоке Conditions измените Logical Grouping -> Match All и нажмите Add . Укажите

  • Condition input -> {HTTPS}
  • Check if input string -> Matches the Pattern
  • Pattern -> OFF
  • Ignore case: включено

Настроить паттерн для перенаправления на HTTPS в IIS

Теперь в блоке Action выберите:

  • Action Type -> Redirect
  • Redirect URL -> https://{HTTP_HOST}{REQUEST_URI}
  • Redirect type -> Permanent (301)

https://{HTTP_HOST}{REQUEST_URI}

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

iisreset

iisreset перезапуск iis

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

проверка работы перенаправления HTTP на HTTPS для сайта IIS на Windows Server

Также вы можете вручную указать правила редиректа HTTP запросы на HTTPS адреса в файле web.config :

<configuration>_x000D_<system.webServer>_x000D_<rewrite>_x000D_<rules>_x000D_<rule name="rewrite_rule_Redirect_HTTP_to_HTTPS" patternSyntax="Wildcard" stopProcessing="true">_x000D_<match url="*" />_x000D_<conditions>_x000D_<add input="{HTTPS}" pattern="OFF" />_x000D_</conditions>_x000D_<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />_x000D_</rule>_x000D_</rules>_x000D_</rewrite>_x000D_</system.webServer>_x000D_</configuration>

Такое правило редиректа HTTP на HTTPS в IIS будет работать на актуальных версиях Windows Server 2022,2019, 2016 и Windows 10,11.

EnglishRussianUkrainian