Настройка переадресации HTTPS в IIS и защита ваших URL-адресов
Чтобы заставить ваш веб-сайт загружаться через SSL, вам, вероятно, потребуется включить перенаправление, чтобы перенаправить все небезопасные URL-адреса на их безопасный аналог. Это необходимо, чтобы убедиться, что все пользователи и страницы поддерживают и используют ваш SSL-сертификат для шифрования связи между вашим веб-сервером и посетителем.
Зачем мне нужно перенаправлять с HTTP на HTTPS?
Чтобы должным образом защитить свой веб-сайт с помощью SSL-сертификатов, вы можете включить переадресацию на своем веб-сайте, заставив все URL-адреса http перенаправлять на безопасные URL-адреса https (т. е. http://mydomain.com перенаправляет на https://mydomain.com). Таким образом, независимо от того, какой URL-адрес посещает пользователь на вашем сайте, он будет автоматически перенаправлен на защищенную версию этой страницы.
Без перенаправления некоторые пользователи или страницы могут обращаться к небезопасным URL-адресам и не получат преимуществ от наличия SSL-сертификата. Давайте посмотрим, как включить эти изменения в IIS с помощью модуля перенаправления URL-адресов!
Переход к модулю перенаправления
Первое, что нам нужно сделать, это перейти к нашему модулю перенаправления. Для этого откройте диспетчер IIS (inetmgr.exe), разверните свой сервер и выберите сайт, на который вы хотите включить перенаправления.
На панели главного окна прокрутите вниз, пока не найдете «Перезапись URL» в подкатегории IIS, и дважды щелкните этот значок.
Если вы не видите этот модуль, вам придется установить его с официального сайта IIS, здесь.
Обратите внимание, что модуль перезаписи URL доступен только для IIS 7 или более поздней версии.
Создание вашего первого правила перенаправления
Теперь, когда вы открыли модуль перезаписи URL, выберите «Добавить правило (я)» в правом верхнем меню действий. Мы собираемся создать пустое правило.
Чтобы создать правило перенаправления, которое переводит все URL-адреса HTTP на HTTPS, вам потребуется создать правило со следующими настройками:
Запрашиваемый URL: соответствует шаблону
Использование: регулярных выражений
Шаблон: (.*)
…с установленным флажком «Игнорировать» регистр.
Установив шаблон в (.*) и сопоставив с регулярными выражениями, правило перенаправления будет сопоставлять и обрабатывать любой URL-адрес, который он получает. Шаблон регулярного выражения (.*) соответствует всем возможным комбинациям символов в URL-адресе.
После того, как эти настройки будут установлены, прокрутите вниз до раздела «Условия» и разверните раскрывающееся меню.
Выберите «Добавить» и введите следующие параметры:
Ввод условия: {HTTPS}
Проверить, соответствует ли входная строка: шаблону
Шаблон: ^OFF$
Нажмите «ОК».
Теперь на странице «Редактировать входящее правило» для нашего нового правила прокрутите вниз до раздела «Действие».
Вы установите тип действия как «Перенаправление» и введите следующий URL-адрес в разделе URL-адреса перенаправления:
Обязательно снимите флажок «Добавить строку запроса» и убедитесь, что тип перенаправления «Постоянный (301)».
Примечание. Если к концу этой статьи у вас возникнут трудности с перенаправлением, можно попробовать другой вариант URL-адреса перенаправления:
Мы используем постоянное (301) перенаправление для нашего сайта, потому что мы хотим, чтобы все незащищенные URL-адреса автоматически и постоянно перенаправлялись на безопасную https-версию URL-адреса. Доступно несколько других типов перенаправления, но перенаправление 301 заставит наш веб-сайт вести себя так, как мы хотим, для HTTPS.
Убедившись, что все вышеперечисленные настройки верны, выберите «Применить» в правом верхнем углу панели «Действия».
Тестирование перенаправлений для подтверждения перенаправления всех URL-адресов веб-сайтов на HTTPS
После того, как вы применили новое правило перенаправления к своему веб-сайту, теперь вы можете протестировать перенаправление в своем браузере.
Чтобы убедиться, что ваш браузер не использует кешированные данные при доступе, откройте окно «Приват» или «Инкогнито» и перейдите по любому URL-адресу http на вашем сайте.
При доступе к этим URL-адресам он должен автоматически перенаправлять на HTTPS-версию вашей страницы. Предполагая, что вы уже протестировали свой SSL-сертификат перед перенаправлением, когда ваш незащищенный URL-адрес перенаправляется, теперь он должен отображать https и значок безопасного замка рядом с строкой URL-адреса.
Если у вас возникли трудности с перенаправлением или вы видите, что оно не перенаправляется должным образом, в наших интересах проверить файл web.config на соответствующем веб-сайте, чтобы убедиться, что наше правило перенаправления было правильно добавлено.
Вы можете проверить это, перейдя на свой сайт в IIS, щелкнув правой кнопкой мыши его имя и выбрав «Исследовать».
Это приведет вас в корневой каталог вашего веб-сайта, где вы найдете файл с именем web.config. Откройте этот файл в Блокноте, чтобы увидеть его содержимое.
Ваш web.config должен содержать следующую информацию где-то внутри своего содержимого:
<переписать>
<правила>
<условия>
условия>
правило>
правила>
переписать>
Если в вашем файле web.config нет раздела, в котором говорится об этом, добавьте приведенный выше блок кода прямо перед закрывающим тегом и сохраните файл.
Теперь вы должны иметь доступ к любым URL-адресам http на своем веб-сайте и видеть, что они перенаправляют на защищенный URL-адрес https! Поздравляем, все страницы вашего сайта и URL-адреса перенаправляются на их безопасный аналог!