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 должен отвечать на запросы, адресованные по доменному имени, на которое будет выпущен сертификат. Поэтому нужно связать домен с сайтом, размещённым на веб-сервере.
- Зайдите в панель управления IIS и выберите нужный сайт из списка:
- В области справа выберите «Привязки…»:
- Затем измените привязку существующей записи или добавьте новую:
- Сохраните изменения и выйдите из панели управления IIS.
Устанавливаем Windows ACME Simple
Подготовка
Устанавливать Let’s Encrypt мы будем с помощью программы Windows ACME Simple (WACS). WACS отвечает за выпуск сертификата и привязывает его к веб-ресурсу с минимальным участием пользователя.
- Скачать программу можно из репозитория GitHub.
- Выберите версию в соответствии с разрядностью вашей ОС.
- Извлеките содержимое архива в любую директорию.
Установка Windows ACME и получение сертификата
- Запустите командную строку из-под пользователя с рут, зайдите в распакованную папку и запустите wacs.exe. По умолчанию программа запросит выпуск сертификата в der-формате, но если вы хотите получить его формате .pem, то используйте дополнительные команды, введите в командной строке:
wacs.exe --store pemfiles --путь_к_целевому_каталогу C:\Certificates
Где путь_к_целевому_каталогу — это путь к папке, куда утилита загрузит полученный pem-файл.
- Откроется окно, где WACS предложит выбрать действие. В разных версиях утилиты описания действий могут отличаться, но в целом понятно, что нужно выбирать, в любом варианте:
Чтобы создать новый сертификат Let’s Encrypt, вводите символ N.
- Затем выберите среди перечисленных сайт, который привязан к нужному доменному имени и отвечает на связанные с ним запросы. На этом этапе доступен мультивыбор: номера вводятся через запятую. В примере сайт только один, поэтому мы вводим «1». Нажмите «Ввод».
- Далее выберем привязки. Если у сайта их несколько, то вводим «3»:
Внимательно читайте сообщения утилиты, в некоторых её версиях на этом этапе для выбора всех привязок нужно ввести А.
- Укажите электронный почтовый адрес для получения оповещений, прочтите «Соглашение пользователя», затем подтвердите корректность введённых данных.
- WACS сама настроит сервер, инициирует проверку и выдачу сертификата. Также программа добавит в «Планировщик Windows» повторяющуюся задачу на его перевыпуск.
- Для завершения введите Q.
Ещё один способ выпустить сертификат — приобрести платный или бесплатный SSL-сертификат у AdminVPS на странице продукта.
Проверьте, что сертификат установлен правильно
- После подключения Let’s Encrypt ресурс будет доступен по защищённому соединению HyperText Transfer Protocol Secure. Для проверки перейдите на ваш ресурс: введите в адресной строке имя сайта, начиная с https://.
- Кроме того, удостовериться, что сертификат установлен, можно в панели управления IIS в модуле «Привязки сайта». Зайдите в него, кликните по https-сайту (с указанным портом 443), затем по «Изменить». Выберите «Просмотреть» напротив поля с названием SSL-сертификата.
- Также проверьте, создано ли задание на обновление в «Планировщике задач» (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, в котором можно создать правило, перенаправляющее трафик.
Зайдите в него, пройдите по пути Actions → Add Rule(s) → Blank rule:
- в поле Name задайте название правила.
- в поле Requested URL установите Matches the Pattern из выпадающего списка.
- в поле Pattern установите шаблон «.*».
Раскройте блок Conditions и в поле Logical Grouping установите значение Match All и кликните по Add («Добавить»).
Затем в открывшемся окне Add Condition:
- в поле Condition input вставьте значение {HTTPS},
- в поле Check if input string — Matches the Pattern,
- значение в поле Pattern — ^OFF$.
Для сохранения настроек нажмите ОК.
Разверните блок Action:
- в поле Action type выберите Redirect,
- в блоке Action properties в поле Redirect URL укажите https://{HTTP_HOST}/{R:1},
- в Redirect type — значение Permanent (301).
Затем нажмите Apply в верхней части панели управления IIS для сохранения настроек.
Для проверки перейдите на сайт, указав в его адресе http://. Если настройки применились корректно, вы будете перенаправлены на HTTPS-версию сайта.
Теперь вы знаете, как установить бесплатный SSL-сертификат Let’s Encrypt на IIS с Windows Server.
Читайте в блоге: