Мы хотим, чтобы ВСЕ сайты на нашем веб-сервере (IIS 10) применяли SSL (т.е. перенаправляли HTTP на HTTPS).
В настоящее время мы «запрашиваем SSL» на каждом сайте и настраиваем 403 error
обработчик для выполнения 302 redirect
адреса https для этого конкретного сайта.
Это прекрасно работает. Но это сложно сделать для каждого сайта, есть много места для человеческой ошибки.
В идеале я хотел бы создать постоянный 301 redirect
на всех, HTTP://*
чтобыHTTPS://*
Есть ли простой способ сделать это в IIS?
Ответы:
Модуль IIS URL Rewrite 2.1 для IIS7 + может быть вашим другом. Модуль можно загрузить с IIS URL Rewrite . Использование URL Rewrite Module и URL Rewrite Module 2.0 В справочнике по конфигурации объясняется, как использовать модуль.
После установки модуля вы можете создать перенаправление на весь хост, используя IIS Manager. Выберите URL Rewrite , Add Rule (s) ... и Blank rule .
Имя:
Перенаправление на HTTPS
Соответствие URL
Запрошенный URL:
Matches the Pattern
Использование:
Wildcards
Шаблон:
*
Игнорировать регистр: Проверено
Условия
Логическая группировка:
Match Any
Вход условия :
{HTTPS}
Проверьте, является ли строка ввода:
Matches the Pattern
Шаблон:
OFF
Игнорировать регистр: Проверено
Отслеживать группы захвата по условиям: Не проверено
Переменные сервера
Оставьте пустыми.
Действие
Тип действия:
Redirect
URL-адрес перенаправления:
https://{HTTP_HOST}{REQUEST_URI}
Добавить строку запроса: не отмечено
Тип перенаправления:
Permanent (301)
Примените правило и запустите IISReset (или нажмите «Перезагрузить» в диспетчере IIS).
Кроме того, после установки модуля вы можете изменить файл applicationHost.config следующим образом:
источник
Мои исследования показывают, что это может быть лучший способ для перенаправления:
источник