Не так давно появилась такая добродушная компания, которая раздаёт бесплатно HTTPS-сертификаты. Есть один недостаток: срок действия сертификата 3 месяца. Есть ещё один недостаток: не очень-то они дружат с nginx. К сожалению, я уже толком не помню, как именно я генерировал сертификат (впрочем, я точно помню, что я использовал не релизную версию, а собрал сам из git).
Поэтому расскажу только про обновление сертификата Letsencrypt. У меня работает это всё вот так (подсмотрено у них на форуме):
[RU] ru ~ # cd /usr/local/src/letsencrypt [RU] ru letsencrypt # source venv/bin/activate (venv)[RU] ru letsencrypt # letsencrypt --config /etc/letsencrypt/cli.ini -d baron.su -d www.baron.su -d new.baron.su -d old.baron.su certonly
А вот содержимое /etc/letsencrypt/cli.ini пришлось подкорректировать:
(venv)[RU] ru letsencrypt # cat /etc/letsencrypt/cli.ini authenticator = webroot webroot-path = /var/www/baron.su renew-by-default agree-tos email = baron@example.com
Но ведь это слишком сложно запускать из cron. Поэтому идём дальше и попробуем вот так:
[RU] ru ~ # /usr/local/src/letsencrypt/venv/bin/letsencrypt --config /etc/letsencrypt/cli.ini -d baron.su -d www.baron.su -d new.baron.su -d old.baron.su certonly
Хм! А ведь сработало. Вот это можно уже и в cron добавить. Создадим файлик /etc/cron.monthly/letsencrypt. Посмотрим-ка, что в моём?
[RU] ru ~ # cat /etc/cron.monthly/letsencrypt #!/bin/sh /usr/local/src/letsencrypt/venv/bin/letsencrypt --config /etc/letsencrypt/cli.ini -d baron.su -d www.baron.su -d new.baron.su -d old.baron.su certonly service nginx reload
Разумеется, первая строчка — это команда. Её в ваш файл копировать не надо :-)
И вот, последний этап. Пробуем запустить его:
[RU] ru ~ # /etc/cron.monthly/letsencrypt
Работает! Оно мне заявило, что сертификат годен до 2016-06-04. Теперь, в апреле у меня должен будет самопродлиться сертификат вплоть до июля, в мае — до августа, и так далее. Честно говоря, я не уверен, что service nginx reload достаточно. Возможно, необходим именно рестарт сервера. Однако точно об этом узнаем лишь через месяц.
В связи с переездом с FirstVDS на RuWeb по причине необоснованного повышения цен в FirstVDS, проверять это будет непросто. У меня сейчас параллельно на двух серверах работают мои ресурсы. Возможно, проверить всё получится только в мае или июне. Если вы воспользовались этой мини-инструкцией, лучше всё-таки делать restart, для гарантированного достижения результата. А я — парень рисковый, я так попробую :)