Как обновить сертификаты от letsencrypt для lighttpd

Привет, сегодня небольшая заметка про автоматическое обновление бесплатных ssl сертификатов от организации letsencrypt.org. Будем полагать, что вы работаете на VPS сервере в качестве продакшн площадки, под управлением OS Linux. Ну и раз уж вы получили вышеуказанные сертификаты, значит скачали и более-менее разобрались с программой (скриптом) certbot, без которой обойтись невозможно.

К сожалению, letsencrypt хоть и является надежной организацией, которую поддерживают именитые вендоры, в частности, google, cisco, facebook… Сертификаты выдаются всего лишь на 3 месяца. Так что придется относительно часто их обновлять и делать такое хочется в автоматическом режиме.

Так получилось, что у меня установлен web сервер lighttpd. Он требует определенного формата файла ключей. В нем сначала идет приватный ключ, затем сам сертификат. certbot сам по себе не генерирует его. Придется делать самим. Ниже приведен bash скрипт для автоматического обновления:

#!/bin/bash

#Лучше указывать полный путь к скрипту
certbot-auto renew

#Это путь, где лежат актуальные сгенерированные сертификаты. Вернее ссылки на них.
path='/etc/letsencrypt/live' 

#Читаем список каталогов, он обычно равен количеству доменов
ls $path | while read p
do
    cd $path/$p
    cat ./privkey.pem ./cert.pem > ./ssl.pem #необходимый формат для lighttpd
done

#Не забудьте перезапустить сервер.
/etc/init.d/lighttpd restart

Можете запускать данный скрипт через cron, например раз в 3 недели, или подобрать более подходящий интервал. Слишком часто тоже не стоит делать, лично мое мнение.

Добавить комментарий