Устанавливаем бесплатный сертификат Let’s Encrypt на IIS с Windows Server 2016/2012 R2

Устанавливаем бесплатный сертификат Let’s Encrypt на IIS с Windows Server 2016/2012 R2

Windows ACME Simple — утилита, с которой установка SSL-сертификата на сайт пройдёт легко и просто. Рассказываем, как получить бесплатный SSL-сертификат Let’s Encrypt и подключить его к сайту на IIS-сервере с помощью WACS.

Знак закрытого замка́ в адресной строке сайта означает, что соединение между компьютером пользователя и сервером с сайтом защищено шифрованием. На наличие «правильного» знака замка́ обращают внимание, пожалуй, почти все посетители — хотя бы потому, что современные браузеры не любят незащищённые соединения: многие из них отказываются переходить по ссылкам, которые начинаются с http:// и выводят сообщение о потенциальной опасности. Чтобы обмен данными шёл по защищённому протоколу HTTPS, на сайт устанавливают специальные SSL-сертификаты, которые гарантируют, что передаваемые данные зашифрованы, а злоумышленники, даже перехватив их, не смогут их прочитать.

В статье рассказываем, как установить сертификат Let’s Encrypt на веб-сайт, расположенный на IIS-сервере с установленной ОС Windows Server 2016/2012 R2.

Инструкция по установке Let’s Encrypt

Чтобы выдать сертификат Let’s Encrypt, удостоверяющая организация должна убедиться, что вы владеете доменом, для чего она отправит запрос, который должен быть правильно обработан. На системах под управлением Linux для этого нужна сложная настройка сервера, но на Windows всё довольно просто: пользователю не нужно ничего настраивать, специальная утилита сделает это в автоматическом режиме.

Подготовка к установке

Перед установкой нужно остановить все службы TrueConf Server. Также убедитесь, что порты 80 и 443 открыты и свободны. Если понадобится, нужно остановить процессы, которые могут их занимать (например, Apache HTTP Server).

Настройка Windows

IIS должен отвечать на запросы, адресованные по доменному имени, на которое будет выпущен сертификат. Поэтому нужно связать домен с сайтом, размещённым на веб-сервере.

  1. Зайдите в панель управления IIS и выберите нужный сайт из списка:
Панель IIS
  1. В области справа выберите «Привязки…»:
Привязки сайта
  1. Затем измените привязку существующей записи или добавьте новую:
Изменение привязки существующей записи
  1. Сохраните изменения и выйдите из панели управления IIS.

Устанавливаем Windows ACME Simple

Подготовка

Устанавливать Let’s Encrypt мы будем с помощью программы Windows ACME Simple (WACS). WACS отвечает за выпуск сертификата и привязывает его к веб-ресурсу с минимальным участием пользователя.

  1. Скачать программу можно из репозитория GitHub.
  2. Выберите версию в соответствии с разрядностью вашей ОС.
Выбор версии в соответствии с разрядностью ОС
  1. Извлеките содержимое архива в любую директорию.

Установка Windows ACME и получение сертификата

  1. Запустите командную строку из-под пользователя с рут, зайдите в распакованную папку и запустите wacs.exe. По умолчанию программа запросит выпуск сертификата в der-формате, но если вы хотите получить его формате .pem, то используйте дополнительные команды, введите в командной строке:
wacs.exe --store pemfiles --путь_к_целевому_каталогу C:\Certificates

Где путь_к_целевому_каталогу — это путь к папке, куда утилита загрузит полученный pem-файл.

  1. Откроется окно, где WACS предложит выбрать действие. В разных версиях утилиты описания действий могут отличаться, но в целом понятно, что нужно выбирать, в любом варианте:
WACS предлагает выбрать действие

WACS предлагает определить действие

Чтобы создать новый сертификат Let’s Encrypt, вводите символ N.

  1. Затем выберите среди перечисленных сайт, который привязан к нужному доменному имени и отвечает на связанные с ним запросы. На этом этапе доступен мультивыбор: номера вводятся через запятую. В примере сайт только один, поэтому мы вводим «1». Нажмите «Ввод».
Выбор сайта в WACS
  1. Далее выберем привязки. Если у сайта их несколько, то вводим «3»:
Выбор привязки в WACS

Внимательно читайте сообщения утилиты, в некоторых её версиях на этом этапе для выбора всех привязок нужно ввести А.

Выбор опций в утилите WACS
  1. Укажите электронный почтовый адрес для получения оповещений, прочтите «Соглашение пользователя», затем подтвердите корректность введённых данных.
  2. WACS сама настроит сервер, инициирует проверку и выдачу сертификата. Также программа добавит в «Планировщик Windows» повторяющуюся задачу на его перевыпуск.
  3. Для завершения введите Q.

Ещё один способ выпустить сертификат — приобрести платный или бесплатный SSL-сертификат у AdminVPS на странице продукта.

Проверьте, что сертификат установлен правильно

  • После подключения Let’s Encrypt ресурс будет доступен по защищённому соединению HyperText Transfer Protocol Secure. Для проверки перейдите на ваш ресурс: введите в адресной строке имя сайта, начиная с https://.
  • Кроме того, удостовериться, что сертификат установлен, можно в панели управления IIS в модуле «Привязки сайта». Зайдите в него, кликните по https-сайту (с указанным портом 443), затем по «Изменить». Выберите «Просмотреть» напротив поля с названием SSL-сертификата.
Панель управления IIS
  • Также проверьте, создано ли задание на обновление в «Планировщике задач» (Task Scheduler). Это задание нужно, чтобы перевыпуск сертификата проходил автоматически. По умолчанию оно назначается на 9:00 ежедневно и будет запускать процесс апдейта командой, которая имеет вид:
C:\директория\wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org/"

Если вы собираетесь обновлять сертификат вручную, то укажите актуальный путь к wacs.exe.

Переводим веб-ресурс с HTTP на HTTPS

Сертификат установлен и сайт открывается по HTTPS через 443-й порт, теперь нужно запретить соединение по HTTP и направить поток данных по защищённому HTTPS. В этом нам поможет утилита URL Rewrite. Скачайте модуль с официального сайта разработчиков IIS.

Когда установка завершится, в панели управления веб-сервером вы увидите раздел URL Rewrite, в котором можно создать правило, перенаправляющее трафик.

Раздел URL Rewrite

Зайдите в него, пройдите по пути Actions → Add Rule(s) → Blank rule:

  • в поле Name задайте название правила.
  • в поле Requested URL установите Matches the Pattern из выпадающего списка.
  • в поле Pattern установите шаблон «.*».
Редактирование Inbound Rule

Раскройте блок Conditions и в поле Logical Grouping установите значение Match All и кликните по Add («Добавить»).

Затем в открывшемся окне Add Condition:

  • в поле Condition input вставьте значение {HTTPS},
  • в поле Check if input string — Matches the Pattern,
  • значение в поле Pattern — ^OFF$.
Add Condition настройка

Для сохранения настроек нажмите ОК.

Разверните блок Action:

  • в поле Action type выберите Redirect,
  • в блоке Action properties в поле Redirect URL укажите https://{HTTP_HOST}/{R:1},
  • в Redirect type — значение Permanent (301).

Затем нажмите Apply в верхней части панели управления IIS для сохранения настроек.

Сохранение настроек в верхней части панели управления IIS

Для проверки перейдите на сайт, указав в его адресе http://. Если настройки применились корректно, вы будете перенаправлены на HTTPS-версию сайта.

Теперь вы знаете, как установить бесплатный SSL-сертификат Let’s Encrypt на IIS с Windows Server.

Читайте в блоге:

Что будем искать? Например,VPS-сервер

Мы в социальных сетях