IIS 10 не будет перенаправлять HTTP на HTTPS после включения HSTS

IIS 10 не будет перенаправлять HTTP на HTTPS после включения HSTS

Я пытаюсь принудительно перевести конечных пользователей на HTTPS при посещении нашего сайта. У меня включен HSTS в IIS на уровне сайта и приложения. У меня настроено перенаправление HTTP на уровне сайта на https://ourdomain.com. Я могу зайти на домашнюю страницу нашего сайта и увидеть заголовок Strict-Transport-Security: max-age: XXXX; includeSubDomains, но я не получаю перенаправления с http://internal-hostname/на https://ourdomain.com.

я прочелПоддержка HTTP Strict Transport Security (HSTS) в IIS 10.0 версии 1709, и я считаю, что я правильно выполнил шаги. После включения HSTS я ожидал автоматического перенаправления с HTTP на HTTPS. Я также прочиталЛучший способ перенаправить все HTTP на HTTPS в IIS, но этот вопрос был посвящен IIS7. С тех пор многое изменилось в плане поддержки HSTS, но, возможно, мои ожидания относительно автоматического перенаправления ошибочны.

Системная информация:

  • Windows Server 2019 (версия 1809)
  • ИИС 10.0.17763.1

Что я сделал:

  1. Открыл диспетчер конфигурации IIS.

  2. Щелкните правой кнопкой мыши по «Веб-сайту по умолчанию», выберите «Управление веб-сайтом» и нажмите «Дополнительные параметры».

  3. Включил HSTS, используя следующие настройки:

    • Включено: Правда
    • IncludeSubDomains: Истина
    • Макс. возраст: 31536000
    • Предварительная загрузка: Ложь
    • Перенаправление HTTP на HTTPS

    Скриншот расширенных настроек, показывающий включение HSTS с максимальным возрастом и перенаправлением

  4. Нажал «ОК»

  5. Нажмите «Веб-сайт по умолчанию» и выберите «Перенаправление HTTP» в разделе «IIS».

  6. Установите флажок «Перенаправлять запросы на этот адрес» и введите наш HTTPS URL (который является балансировщиком нагрузки, а не этим конкретным веб-сервером).

    Скриншот настроек перенаправления HTTP IIS для веб-сайта по умолчанию

  7. Перезапустил IIS.

  8. Используя сеанс удаленного рабочего стола на веб-сервере, я открыл Microsoft Edge.

  9. Пошел http://internal-hostname/в Эдж.

Ожидаемое поведение:пользователь перенаправляется на https://ourdomain.com.

Фактическое поведение:браузер загрузил страницу с ошибкой «403.4 Forbidden».

Скриншот домашней страницы с открытыми инструментами разработчика, на которой показан заголовок Strict-Transport-Security

Похоже, HSTS включен, поскольку я получаю ожидаемый Strict-Transport-Securityзаголовок HTTP в ответе, но не получаю желаемого перенаправления с HTTP на HTTPS 1 , как указано вRFC6797.


1 Хорошим ответом также может быть то, что «HSTS» — это половинчатое решение в IIS 10, и мне действительно нужно добавить правило перенаправления HTTP.

Связанный контент