Для автоматического получения (и продления) SSL-сертификатов Let's Encrypt потребуется отдавать по запросу идентификационные данные. В этой статье рассмотрим, как настроить плагин Webroot после установки Certbot на сервер так, чтобы идентификация проходила в автоматическом режиме. Для этого потребуется прописать некоторые дополнительные настройки в конфигурационный файл letsencrypt.
Исходный конфигурационный файл letsencrypt
Конфиг letsencrypt, который находится тут → /etc/letsencrypt/cli.ini
изначально содержит только одну значащую строку с данными:
# Because we are using logrotate for greater flexibility, disable the
# internal certbot logrotation.
max-log-backups = 0
Для того, чтобы подтверждение идентификации при получении новых и обновлении имеющихся SSL-сертификатов Let's Encrypt мог сразу получать необходимые данные нужно в этот файл добавить несколько строк.
Дополнение конфига letsencrypt
Для этого допишем в этот файл три строчки. Чтобы не заморачиваться с текстовыми редакторами, проще ввести команду с консоли:
# echo -e "\nauthenticator = webroot\nwebroot-path = /var/www/html\npost-hook = service nginx reload\ntext = True\n" >> /etc/letsencrypt/cli.ini
В итоге получим конфиг letsencrypt следующего содержания:
# Because we are using logrotate for greater flexibility, disable the
# internal certbot logrotation.
max-log-backups = 0
authenticator = webroot
webroot-path = /var/www/html
post-hook = service nginx reload
text = True
где:
authenticator = webroot
задаёт плагин Webroot в качестве программы для аутентификацииwebroot-path = /var/www/html
задаёт путь до директории, где будут храниться данные, необходимые для аутентификацииpost-hook = service nginx reload
задаёт действие после выполнения задач Certbot'а — перезагрузить NGiNXtext = True
— включение текстового режима отображения выводимой Certbot'ом информацииmax-log-backups = 0
— отключение встроенной функции архивации логов. У нас есть logrotate, — им и будем пользоваться в случае необходимости, если логи разрастутся. (Обновление сертификатов будет настроено на раз в 60 дней, так что по идее не так уж и много будет логов. Будет много - можно настроить logrotate.)
Зачем всё это?
На этом конфиг letsencrypt можно больше не трогать. Всё это сделано для того, чтобы Certbot однозначно писал данные необходимые для проверки прав на домен файлы в папку /var/www/html/
, а мы точно знали, куда он их пишет, где их найти и как их отдать, если потребуется.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)