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

<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  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.

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

1 неделя ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

1 неделя ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

1 неделя ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

1 неделя ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

1 неделя ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

1 неделя ago