Установка и обновление SSL-сертификатов Let's encrypt в Centos 7

HELP-ME-24.COM (Freelance Team), Черноусов Антон

Для управления SSL-сертификатами Let's encrypt используется утилита certbot, она позволяет регистрировать и обновлять SSL-сертификаты в автоматическом режиме.

Рассмотрим установку и настройку получения и автоматического обновления сертификатов Let's encrypt в автоматическом и полуавтоматических режимах. Штатными для Centos 7 являются webroot и standalone и эти методы мы и рассмотрим в данной статье.

Для установки CertBOT в Centos 7 необжодимо выполнить следующие команды:

# yum -y install yum-utils
# yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
# yum install certbot

Определяемся, что у нас используется в качестве Front-сервера для обслуживания http и https запросов. В моем текущем случае используется Nginx, но для nginx плагин в centos заявлен как экспериментальный и может быть собран из исходных кодов. 

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

Режим  standalone максимально простой и рассмотривать его не будем, в этом режиме вы просто останавливаете Nginx и запускаете certboot с параметрами:

# certbot certonly --standalone -d my-domain.ru

Режим webroot не требует остановки web-сервера и его мы рассмотрим более подробно.

Получение сертификата Let's encrypt в режиме web-root

Для использования режима webroot вам понадобиться в перую очередь определиться где для ваших доменов находится корень проекта. Если вы разработчик проекта, то вам это конечно же известно, но в случае если вы администрируете сторонний проект имеет смысл обратиться к разработчику и прояснить этот вопрос.

# certbot certonly --webroot -d my-domain.ru

При первом получении сертификата будет запущен мастер который запрашивает некоторые данные, такие как адрес электронной почты для отправки сообщений о истекающем сроке действия сертификата и собственно расположение корня web-проекта куда будет размещен файл подтверждения владения доменом.

Select the webroot for api.adsvision.ru: -------------------------------------------------------------------------------
1: Enter a new webroot
-------------------------------------------------------------------------------
Press 1 [enter] to confirm the selection (press 'c' to cancel): 1
Input the webroot for api.adsvision.ru: (Enter 'c' to cancel):/var/www/html/london/api/web/

Этот файл естественно должен быть доступен с внешнего интернет-хоста с которого будет проводиться проверка и подтверждение прав на владение доменом и в случае если все прошло упешно вы получите следующее сообщение:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
  /etc/letsencrypt/live/my-domain.ru/fullchain.pem. Your cert
  will expire on 2017-08-01. To obtain a new or tweaked version of
  this certificate in the future, simply run certbot again. To
  non-interactively renew *all* of your certificates, run "certbot
  renew"

Теперь вы можете настроить https на использование сертификатов Let's encrypt, для этого внесить в конфигурационный файл Nginx обслуживающий https-подключения следующие пути к сертификатам (или измените пути к сертификатам в существующих настройках):

ssl_certificate /etc/letsencrypt/live/my-domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain.ru/privkey.pem;

Так как сертификаты Let's encrypt выдаются на короткий период времени (90 дней) вам потребуется настроить автоматическое обновление сертификатов, для чего можно в файл /etc/crontab прописать запуск автоматического обновления сертификатор один раз в неделю:

1 5 * * 6 root /usr/bin/certbot renew

Оставьте комментарий

Вы должны быть вошедший в чтобы отправить комментарий