Как настроить HTTPS на IIS

Возникла не первый раз небольшая задача и опять пришлось вспоминать, что и как настраивал до этого. Я расскажу, как настроить HTTPS на IIS, когда у вас обычные сертификаты в формате CRT. Просто взять и применить их в IIS не получится. Расскажу, что с этим делать.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Допустим, вы купили обычный сертификат. У вас есть private key, плюс поставщик сертификатов прислал crt файл и возможно ca-bundle. Последний скорее всего не пригодится.

Конвертация CRT в PFX

Итак, нам нужно сконвертировать существующий сертификат crt в pfx формат, который одновременно содержит сертификат и приватный ключ к нему. Проще всего это сделать с помощью утилиты openssl. В любом Linux дистрибутиве она есть по умолчанию. Вам достаточно передать туда свой сертификат и приватный ключ и выполнить конвертацию:

# openssl pkcs12 -export -out domain.ru.pfx -inkey domain.ru.key -in domain.ru.crt

На выходе получите domain.ru.pfx, который нужно передать на IIS сервер. Если не хотите связываться с командной строкой, то можно воспользоваться утилитой DigiCert Certificate Utility для Windows. Скачать её можно с сайта Digicert. Создайте директорию и положите туда файлы crt и key, а также саму утилиту и запустите её из этой директории. Она сама увидит сертификат и предложит его установить.

Конвертация CRT в PFX

После установки выберите этот сертификат и нажмите Export Certificate. Далее выберите формат pfx file, включающий в себя приватный ключ.

Настройка HTTPS в IIS

Дальше всё очень просто. Чтобы настроить HTTPS, надо открыть консоль управления IIS сервера и импортировать сертификат pfx, который только что сделали.

Добавление tls сертификата

Импорт pfx сертификата в iis

После этого перемещайтесь в нужный сайт, выбирайте в нём настройку Изменить привязки.

Изменить привязки

Добавляйте новую и выбирайте для неё импортированный сертификат.

Настройка HTTPS в IIS

На этом настройка HTTPS в IIS закончена. Уже сейчас можно пойти и проверить работу по защищённому протоколу. Единственное, чего недостаёт - автоматического редиректа с HTTP на HTTPS. Если вам он нужен, то читайте дальше, как его настроить.

Редирект с HTTPS на HTTP в IIS

Для того, чтобы настроить редирект с HTTP на HTTPS, необходимо дополнительно установить модуль для IIS - URL Rewrite. Загрузить его можно с официального сайта iis - https://www.iis.net/downloads/microsoft/url-rewrite. После загрузки установите модуль, перезапустите iis и откройте заново оснастку управления. В настройках сайта появится новый раздел - Переопределение url адресов.

Редирект с HTTPS на HTTP в IIS

Откройте эти настройки и добавьте новое правило:

  • Имя - любое
  • Запрошенный url-адрес: соответствует шаблону
  • Использование: регулярные выражения
  • Шаблон: (. *)
  • Условия. Ввод условия: {HTTPS}, Шаблон: ^OFF$
  • Тип действия: Перенаправление
  • URL-адрес перенаправления: https://{HTTP_HOST}/{R:1}

URL Rewrite в iis

Перенаправление на https

Сохраняете правило и проверяете. Перенаправление с HTTP на HTTPS должно работать.

Заключение

Вот такая простая настройка в IIS. Хоть этот веб сервер и не распространён по различным причинам, но настраивать его очень просто, особенно если слабо разбираешься в веб технологиях. Я лично встречаю этот веб сервер только в контексте публикации баз 1С. Чаще всего сервер 1С установлен на Windows, и с этой же машины делают публикацию.

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

7 комментариев

  1. Если раскрыть ветку 1с (на вашем примере), дальше в настройках начальной страницы есть в секции IIS "перенаправление протокола HTTP" - выбираем постоянное (301), как в nginx :)

  2. Однако редирект не будет работать с указанием каталога после имени сайта, например
    http://Имя.ru/baza1c/ru_RU

    • Это точная информация или предположение? Я не проверял такой url. Как сделать правильно?

      • Точно не работает. Переводил уже работающих пользователей с http на https - пришлось всем ссылки менять.
        Как сделать правильно не знаю, но подозреваю, что дело в правиле редиректа.

      • Так работает https://{HTTP_HOST}/{REQUEST_URI}

  3. В Русской редакции настройки выглядят непривычно :)

    • Это да. Такой сервер достался. Я сам не ставлю никогда русские редакции. Как раз из-за того, что с настройками путаница и в логах потом много непонятного.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar