Let's EncryptLet’s Encrypt – это бесплатный сервис, который предоставляет SSL-сертификаты для защиты сайтов. Одним из видов сертификатов, которые Let’s Encrypt предоставляет, является Wildcard SSL, который позволяет защитить все поддомены на вашем домене. В этой статье мы рассмотрим, как установить и настроить Let’s Encrypt Wildcard SSL-сертификат на сервере Ubuntu 20.04, а также автоматизировать обновление сертификата.

1) Получение сертификата

Для установки wildcard сертификата letsencrypt воспользуемся утилитой certbot.

Стоит оговориться что для получения wildcard сертификата, подтверждение владения доменом возможно только через TXT запись в DNS.

Certbot – это утилита, которая позволяет автоматически получить и установить SSL-сертификаты от Let’s Encrypt.

Чтобы получить Wildcard SSL-сертификат от Let’s Encrypt, вам необходимо иметь доступ к DNS-записям вашего домена. Для этого мы будем использовать DNS-вызовы Certbot. Вам необходимо выбрать провайдера DNS, который поддерживается Certbot. Вы можете найти список поддерживаемых провайдеров DNS на странице https://certbot.eff.org/docs/using.html#dns-plugins.

Допустим, мы будем использовать провайдера DNS GalaxyData.

Затем, где zobra.ru адрес вашего сайта

После этого нам зададут пару вопросов: email куда будут приходить уведомления о заканчивающемся сроке действия сертификата и предложат добавить TXT запись _acme-challenge в DNS. В общем все это будет выглядеть как то так:


 

Стоит отметить что после обновления записей DNS перед продолжением нужно выждать 2-5 минут (возможно дольше) что бы запись распространилась.

TXT запись _acme-challenge в DNS

После того как certbot отработал, полученные сертификаты будут находиться здесь:

Здесь будут файлы cert.pem, chain.pem, fullchain.pem, privkey.pem, README

2) Настройка автопродления сертификатов

Срок действия SSL-сертификата Let’s Encrypt составляет 90 дней. Чтобы избежать проблем с безопасностью, необходимо обновлять сертификаты до их истечения. Чтобы автоматизировать процесс обновления сертификата, мы будем использовать cron.

Тут всё просто, точнее даже очень просто.

Создаем исполняемый bash скрипт

следующего содержания:


даем права на выполнение

и размещаем его в crontab:

добавляем запись

Нажимаем Ctrl + O и нажимаем Enter.

В результате каждую неделю скрипт будет запускаться и проверять необходимость обновления сертификатов. В случае такой необходимости сертификаты автоматически будут обновлены и будет запущен хук обновляющий конфигурацию сервера nginx (в моём случае)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.