IIS Редирект HTTP на HTTPS (правило URL Rewrite)

Дано: сайт на IIS 8.5 (SSL сертификат уже установлен и сайт настроен на работу по HTTPS). На IIS установлен модуль URL Rewrite.
Задача: необходимо настроить перенаправление всех запросов сайта (редирект) с HTTP на HTTPS.




Пример добавление правила через визуальный интерфейс IIS:



Либо вставляем правило в файл web.config в ветку configuration - system.webServer:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="http_to_https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll"
                        trackAllCaptures="false">
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect"
                        url="https://{HTTP_HOST}/{R:1}"
                        redirectType="SeeOther" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

9 комментариев:

  1. Огромное спасибо! Давно не мог найти!!! Спасибо

    ОтветитьУдалить
  2. Пробовал разными способами, не помогает, не перекидывает. набираю в браузере сайт.ru так и открывает, что можно еще попробовать?

    ОтветитьУдалить
    Ответы
    1. Странно, т.к. способ, описанный в статье, прекрасно работает (испробовано на разных сайтах). Попробуйте настроить любое другое правило, чтобы проверить, а может вообще модуль URL Rewrite не работает?

      Удалить
    2. У меня тоже не срабатывает, как проверить что модуль URL Rewrite работает?

      Удалить
    3. Создайте любое простейшее правило (без каких либо условий, например, просто редирект при любом заходе на сайт).

      Удалить
  3. привязку на 80 порт для http надо сделать, тогда все работает

    ОтветитьУдалить
    Ответы
    1. а именно? что именно привязать к 80 порту?

      Удалить
    2. У меня решилось в параметрах ssl, снятием галочки требовать ssl, далее отрабатывало перенаправление на страницу (в параметрах протокола), и происходил редирект на HTTPS

      Удалить