Перейти к основному содержанию
 

IIS — SSL сертификат Let's Encrypt

IIS 10

Сегодня автоматизируем установку бесплатного SSL сертификата на сайт, который работает на web-сервере IIS 10. Операционная система Microsoft Windows 2016. Сертификат выдается лишь на 90 дней, но его всегда можно быстро обновить в автоматическом режиме.

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

Let’s Encrypt - центр сертификации, начавший работу в бета-режиме с 3 декабря 2015 года, предоставляющий бесплатные криптографические сертификаты X.509 для TLS-шифрования (HTTPS). Процесс выдачи сертификатов полностью автоматизирован. https://letsencrypt.org/

Для установки сертификата будем использовать консольную утилиту LetsEncrypt-Win-Simple.

Подготовка

LetsEncrypt-Win-Simple берём здесь:

https://github.com/PKISharp/win-acme/releases

ssl

Я скачал версию v2.0.5.246. Распаковываем архив.

ssl

Папка win-acme.v2.0.5.246 нам потом пригодится для автоматического продления сертификатов, которое будет запускаться через Task Scheduler, не удаляйте.

При запуске wacs.exe хочет .NET Framework 4.7.2.

ssl

Нас отправляют на сайт:

https://dotnet.microsoft.com/download/thank-you/net472

ssl

Качаем .NET Framework 4.7.2 и запускаем установку.

ssl

Принимаем лицензионное соглашение, Install.

ssl

Ждём.

mail

.NET Framework 4.7.2 установлен.

ssl

Перезагружаем сервер. Подготовка к установке сертификатов завершена.

Устанавливаем SSL сертификат

Запускаем wacs.exe под администратором.

ssl

Для начала сгенерируем простой сертификат. Для этого выбираем Create new certificate, N. Нас спрашивают, какой сертификат делаем.

ssl

Для тестирования генерируем простой сертификат без псевдонимов (для установки сертификата с псевдонимами выберите 2). Пишем 1. Нам показывают список всех доменов, забинденных в IIS.

ssl

Жертвой будет setpizza.com. Пишем 5.

ssl

Нужно зарегистрироваться, указываем свой e-mail администратора, или несколько через запятую.

ssl

Нужно принять лицензионное соглашение. Если написать "y", то откроется PDF файл с соглашением. Принимаем лицензионное соглашением.

ssl

Готово.

Проверяем сертификат

Заходим на https://setpizza.com/

ssl

Всё работает, сертификат есть.

ssl

ssl

В хранилище сертификатов:

ssl

Let's Encrypt устанавливает также сертификаты промежуточных центров сертификации.

mail

443 порт добавился автоматически, сертификат выбрался автоматически.

ssl

В планировщике добавилось ежедневное правило для обновления сертификатов.

ssl

Дополнительные настройки

Вы можете настроить почту для уведомлений.

mail

Как нам подсказывают, нужно ручками подправить файл settings.config.

<setting name="SmtpServer" serializeAs="String">
  <value>localhost</value>
</setting>
<setting name="SmtpPort" serializeAs="String">
  <value>25</value>
</setting>
<setting name="SmtpUser" serializeAs="String">
  <value />
</setting>
<setting name="SmtpPassword" serializeAs="String">
  <value />
</setting>
<setting name="SmtpSecure" serializeAs="String">
  <value>False</value>
</setting>
<setting name="SmtpSenderName" serializeAs="String">
  <value>Let's Encrypt</value>
</setting>
<setting name="SmtpSenderAddress" serializeAs="String">
  <value>admin@yourdomain1.ru</value>
</setting>
<setting name="SmtpReceiverAddress" serializeAs="String">
  <value>admin@yourdomain2.ru</value>
</setting>
<setting name="EmailOnSuccess" serializeAs="String">
  <value>True</value>
</setting>

ssl

Лучше генерировать сертификаты с псевдонимами, например:

mail

Принцип понятен, дальше разберётесь.

Теги