Найти в Дзене

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

Оглавление

Сегодня автоматизируем установку бесплатного 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

-2

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

-3

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

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

-4

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

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

-5

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

-6

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

-7

Ждём.

-8

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

-9

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

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

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

-10

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

-11

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

-12

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

-13

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

-14

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

-15

Готово.

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

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

-16

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

-17
-18

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

-19

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

-20

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

-21

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

-22

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

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

-23

Как нам подсказывают, нужно ручками подправить файл 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>
-24

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

-25

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

Источник:
https://internet-lab.ru/iis_lets_encrypt

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.