- Автоматическое обновление wildcard-сертификатов
- Бесплатные wildcard ssl сертификаты let’s encrypt для поддоменов
- Вручную
- Выпуск ssl сертификата для nginx
- Если нужно добавить поддомен или домен в сертификат
- Настройка bind для rfc2136
- Настройка сертификат от letsencrypt
- Подтверждение прав на домен
- Получение сертификат(ов)
- Посмотреть список полученных сертификатов
- Проверка сертификатов домена
- Продление сертификатов let’s encrypt
- Управление блоками server в nginx
- Управление виртуальными хостами apache
- Установка ssl сертификата let’s encrypt на веб-сайт nginx
Автоматическое обновление 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/ в качестве общедоступного пути:
Посмотреть список полученных сертификатов
После ввода команды:
Проверка сертификатов домена
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 для вашего домена:
