Создание сертификата Let’s Encrypt для Nginx в FreeBSD | 8HOST.COM

Создание сертификата Let’s Encrypt для Nginx в FreeBSD | 8HOST.COM Сертификаты

Автоматическое обновление wildcard-сертификатов

Процесс довольно прост. Для выпуска wildcard-сертификата необходимо выполнить DNS challenge request, используя протокол ACMEv2.

Бесплатные wildcard ssl сертификаты let’s encrypt для поддоменов

Чтобы выпустить wildcard сертификат Let’s Encrypt для всех поддоменов, используется другая команда. Кроме того, в DNS настройках вашего домена нужно создать специальную txt-запись. Чтобы выпустить wildcard сертификат для поддоменов, в директории /opt/letsencrypt/ запустите команду:

Вручную

Если для используемого веб-сервера нет плагина, воспользуйтесь следующей командой:

Выпуск ssl сертификата для nginx

Чтобы выпустить SSL сертификат для сайта, запустите команду:

Если нужно добавить поддомен или домен в сертификат

Если забыли добавить поддомен ( ну скажем www — это как пример), или может, понадобилось добавить поддомен для какой-то нужды, то я сейчас покажу как можно это сделать:

Настройка bind для rfc2136

Сгенерируйте секретный TSIG-ключ:

$ tsig-keygen -a HMAC-SHA512 example-key

и добавьте его в файл конфигурации:

/etc/named.conf

Настройка сертификат от letsencrypt

Можно использовать данный сертификат на различных веб-сервера, но в данной статье — я приведу несколько примеров.

Чтобы получить помощь, можно использовать:

Подтверждение прав на домен

Теперь вам необходимо подтвердить права на указанное доменное имя. Для этого можно создать location в конфиге Nginx:

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

Запросите сертификат для domain.tld, используя /var/lib/letsencrypt/ в качестве общедоступного пути:

Про сертификаты:  Типы SSL-сертификатов: какой выбрать и где его купить

Посмотреть список полученных сертификатов

После ввода команды:

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

openssl s_client -connect example.org:443 -servername example.org

Если в ответ получили:

no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Start Time: 1630349404
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)

То может помочь установка ssl в секции listen:

server {
    listen              443 ssl;
    server_name         example.org;
    ssl_certificate     fullchain.pem;
    ssl_certificate_key privkey.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ...
}

Продление сертификатов let’s encrypt

Сертификаты Let’s Encrypt выдаются на 90 дней, рекомендуется продлевать эти сертификаты каждые 60 дней.

Чтобы перевыпустить устаревший SSL сертификат Let’s Encrypt, используется команда:

Управление блоками server в nginx

Следующий пример можно использовать во всех блоках server при управлении этими файлами вручную:

/etc/nginx/sites-available/example

Управление виртуальными хостами apache

Следующий пример можно использовать во всех виртуальных хостах при управлении этими файлами вручную:

Установка ssl сертификата let’s encrypt на веб-сайт nginx

Чтобы SSL сертификат Let’s Encrypt заработал на вашем сайте, нужно использовать следующий конфигурационный файл nginx для вашего домена:

Оцените статью
Мой сертификат
Добавить комментарий