Установка бесплатного сертификата Let’s Encrypt на MS IIS

В этой статье мы рассмотрим процесс установки бесплатного сертификата Let’s Encrypt на веб-сайт, который работает на веб-сервере Internet Information Services (IIS).

Для демонстрации процесса установки сертификата мы используем VPS, работающий на операционной системе Windows Server 2016. Мы уже настроили веб-сервер IIS и запустили на нем сайт. В настоящий момент доступ к сайту осуществляется через протокол HTTP.

Страница сайта - подключение по HTTP

Наша задача состоит в получении сертификата от Центра Сертификации Let’s Encrypt, установке его на веб-сервер и привязке к нашему домену. Кроме того, мы настроим перенаправление трафика с протокола HTTP на протокол HTTPS. Это означает, что при попытке подключиться к сайту по протоколу HTTP, система автоматически переключит соединение на протокол HTTPS.

Установка сертификата

Проще всего установить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты Windows ACME Simple (WACS). Данная утилита осуществляет автоматический выпуск и привязку сертификата к сайту, запущенному на MS IIS. В нашем примере мы установим утилиту версии v2.2.5.1. Именно эта версия является актуальной на момент написания статьи. Для скачивания клиента WACS данной версии необходимо перейти на страницу этого релиза.

Страница консольной утилиты Windows ACME Simple (WACS)

По окончании загрузки файла разархивируйте его содержимое на сервере в каталог C:\inetpub\letsencrypt\. Затем найдите и запустите исполняемый файл wacs.exe. В меню утилиты выберите создание сертификата с настройками по умолчанию — Create certificate (default setting). Для этого введите символ N.

Начальное меню утилиты

Далее утилита попросит выбрать веб-сайт. Если в предложенном списке находятся несколько сайтов, то можно выбрать из них один, указав его номер, либо сразу несколько, перечислив их номера через запятую. Если нужно выбрать сразу все, нажмите Enter.

Выбор сайта

На следующем шаге утилита попросит выбрать сайт из списка выше, где можно указать номер одного или нескольких сайтов через запятую, либо выбрать все сайты при помощи символа A.

Выбор сайта

Теперь утилита попросит подтвердить свой выбор клавишей y или отказаться от продолжения создания сертификата клавишей n.

Подтверждение выбора сайта

На следующем этапе будет сформировано Пользовательское соглашение и нужно будет согласиться на его просмотр или отказаться от просмотра клавишами y или n.

Формирование Пользовательского соглашения

Так выглядит Пользовательское соглашение.

Пользовательское соглашение Let's Encrypt

Далее утилита спросит ваше согласие с условиями Пользовательского соглашения. Согласиться или отказаться необходимо так же при помощи y или n.

Запрос согласия с условиями Пользовательского соглашения

На следующем шаге введите адрес электронной почты, по которому можно будет связаться с вами в случае возможных осложнений, связанных с выпускаемым SSL-сертификатом.

Ввод E-mail

Далее запустится процесс выпуска SSl-сертификата для вашего сайта.

Процесс выпуска SSL-сертификата - Установка бесплатного сертификата

По окончании процесса для выхода из меню утилиты нажмите Q.

Выход из меню утилиты - Установка бесплатного сертификата

В результате ваш сайт станет доступен при подключении с использованием протокола HTTPS. Чтобы это проверить, просто наберите в браузере доменное имя вашего сайта в виде https://your-domain.host, где вместо your-domain.host укажите имя вашего веб-сайта.

Страница сайта - подключение по HTTPS

Настройка HTTPS

Чтобы просмотреть установленный SSL-сертификат, запустите Диспетчер серверов и перейдите Средства 🠒 Диспетчер служб IIS.

Запуск Диспетчера служб IIS

Далее, раскройте ветку вашего сервера, затем — ветку сайты и на строке, соответствующей вашему веб-сайту, нажмите правую кнопку мыши. В контекстном меню выберите Изменить привязки...

Диспетчер служб IIS

Теперь в окне Привязки сайта выберите ваш сайт с типом https и нажмите Изменить. В открывшемся окне в строке SSL-сертификат нажмите Вид...

Изменение привязки сайта - Установка бесплатного сертификата

Кроме того, при выпуске сертификата утилита создаёт в Планировщике заданий новое задание, которое предназначено для автоматического продления срока действия SSL-сертификата. С этой целью созданное задание ежедневно запускает команду C:\inetpub\letsencrypt\wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org/".

Планировщик заданий - Установка бесплатного сертификата

Ввиду того, что ваш веб-сайт теперь доступен с использованием протокола HTTPS, необходимо закрыть доступ к нему по протоколу HTTP. Другими словами, трафик HTTP нужно перенаправить на подключение по HTTPS. Для этого установите на вашем VDS модуль Microsoft URL Rewrite Module. После его инсталляции в Диспетчере служб IIS появится иконка Переопределение URL-адресов.

Иконка Переопределение URL-адресов - Установка бесплатного сертификата

Для создания нового правила перенаправления трафика откройте данную иконку. В разделе Правила для входящего трафика нажмите правую кнопку мыши и выберите Добавить правила... Далее выберите Пустое правило и нажмите ОК. В поле Имя: укажите название создаваемого правила, например, Перенаправление HTTP-трафика. Теперь, в строке Запрошенный URL-адрес выберите Соответствует шаблону, а в поле Шаблон: введите (.*). В разделе Условия значение строки Логическая группировка: установите в Совпадение со всеми, затем нажмите Добавить... В окне добавления условия укажите {HTTPS} в строке Ввод условия:. Также в строке Проверить, если входная строка: выберите Соответствует шаблону, а в строку Шаблон: введите ^OFF$. Затем нажмите ОК.

Создание правила перенаправления трафика - Установка бесплатного сертификата

Теперь перейдите в раздел Действие и укажите Перенаправление в строке Тип действия:. В строке URL-адрес перенаправления: введите https://{HTTP_HOST}/{R:1}, в строке Тип перенаправления: выберите Постоянное (301). Для завершения создания правила нажмите Применить в правом верхнем углу окна Диспетчера служб IIS.

Завершение создания правила - Установка бесплатного сертификата

В результате при попытке подключиться к вашему сайту с использованием протокола HTTP, веб-сервер будет перенаправлять трафик на HTTPS, и пользователи будут попадать на ваш сайт так, как будто его доменное имя было указано с префиксом https://.

Заключение

В завершение — несколько слов о теории. Существует три основных типа SSL-сертификатов:

  • Domain Validated (DV) — подтверждают только права на домен.
  • Organization Validation (OV) — подтверждают домен и его принадлежность юридическому лицу.
  • Extended Validation (EV) — сертификаты с расширенной проверкой.

Сертификат, получаемый от Let’s Encrypt, который мы рассмотрели в данном руководстве, относится к первой категории.

Кроме того, сертификаты могут быть платными и бесплатными. Рассмотренный в нашей статье SSL-сертификат от Let’s Encrypt является бесплатным. Однако, это не означает, что он не имеет недостатков.

С одной стороны, бесплатный сертификат обходится пользователю дешевле, чем платный. Но, с другой стороны, у бесплатных сертификатов есть некоторые минусы. Во-первых, они имеют ограниченный срок действия и требуют перевыпуска через определённые промежутки времени. Во-вторых, платные SSL-сертификаты обеспечивают более высокий уровень доверия со стороны поисковых систем и пользователей, так как удостоверяющие центры проводят проверку владельцев доменов. И, наконец, платные сертификаты подразумевают финансовые обязательства со стороны Центра Сертификации, что означает компенсацию для пострадавших сайтов при утечке пользовательских данных.

Таким образом, выбор между бесплатными и платными сертификатами имеет свои преимущества и недостатки, которые следует учитывать при принятии решения.

Вам также может понравиться