перейти к содержанию

Давайте зашифруем

LetsEncrypt - это сервис, который предоставляет пользователям бесплатные сертификаты SSL / TLS. Certbot - это клиент, который делает это простым и автоматизированным. Кроме того, он имеет плагины для Apache и Nginx, которые делают автоматизацию генерации сертификатов еще проще.

Инструкции по установке для большинства дистрибутивов Linux можно найти на веб-сайте Certbot.

 Давайте зашифруем Давайте зашифруем

После установки пакетов вы готовы создать новый сертификат.

апаш

После установки Certbot и плагина Apache генерация сертификата выполняется с помощью следующей команды.

certbot certonly --apache --noninteractive --agree-tos --email YOUR_EMAIL -d DOMAIN_NAME

Обновите разделы «SSLCertificateFile» и «SSLCertificateKeyFile», а затем перезапустите службу.

Добавьте работу в cron, чтобы сертификат автоматически обновлялся.

echo "0 0 * * * Обновление root-сертификата root --quiet --no-self-upgrade --post-hook $0027systemctl reload apache2$0027" | sudo tee -a /etc/cron.d/renew_certbot

HAProxy

HAProxy в настоящее время не имеет плагин Certbot. Чтобы избежать этого, запустите Certbot в автономном режиме и прокси-трафик через вашу сеть.

Включите интерфейс и бэкэнд в указанной выше конфигурации, а затем запустите Certbot.

certbot certonly --standalone --preferred-challenge http-01 --http-01-port 8888 --нонерактивный --agree-tos --email YOUR_EMAIL -d DOMAIN_NAME

Порт можно изменить на любой другой, но убедитесь, что настройки HAProxy и ваша команда Certbot совпадают.

HAProxy должен иметь сертификат и сцепленные файлы ключей в одном и том же файле, чтобы правильно его прочитать. Это можно сделать с помощью следующей команды.

cat /etc/letsencrypt/live/domain_name/fullchain.pem /etc/letsencrypt/live/domain_name/privkey.pem

Разбейте привязку *: 443 и раздел перенаправления в настройках, затем перезагрузите сервис.

Автоматическое продление сертификатов

Поместите следующий скрипт в / usr / local / bin / для автоматического обновления вашего SSL-сертификата.

SITE = DOMAIN_NAME# перейдите к правильному, мы зашифруем файлы каталогов directory / cd / etc / letsencrypt / live / $SITIO#, чтобы сделать их комбинированными .pem для haproxycat fullchain.pem privkey.pem> /etc/ssl/$SITIO.pem1TPxer reload

Убедитесь, что скрипт исполняемый.

chmod u + x /usr/local/bin/letsencrypt-renew.sh

Добавьте работу в cron, чтобы сертификат автоматически обновлялся.

@mensual / usr / bin / certbot renew --renew-hook "/usr/local/bin/letsencrypt-renew.sh"; /var/log/letsencrypt-renewal.log

Nginx

После установки Certbot и плагина Nginx с помощью sudo apt установите certbot python3-certbot-nginx, сгенерируйте сертификат.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email YOUR_EMAIL -d YOUR_DOMAIN

Добавьте параметр --rsa-key-size 4096, если вы хотите вместо него использовать ключ 4096.

Скопируйте и вставьте весь пример файла конфигурации Nginx сверху, изменив параметры в соответствии с вашей конфигурацией и раскомментировав строки.

Добавьте работу в cron, чтобы сертификат автоматически обновлялся.

echo "0 0 * * * обновление корневого сертификата --quiet --no-self-upgrade --post-hook $0027systemctl reload nginx$0027" | sudo tee -a /etc/cron.d/renew_certbot

содержание

ru_RUРусский
es_ESEspañol zh_CN简体中文 hi_INहिन्दी arالعربية pt_BRPortuguês do Brasil bn_BDবাংলা ja日本語 de_DEDeutsch fr_FRFrançais it_ITItaliano ru_RUРусский