Бесплатные сертификаты LetsEncrypt в панели управления VestaCP на CentOS 7


26 октября 2016 года мир бесплатных SSL сертификатов для сайтов был огорчен печальной новостью: начиная с Firefox 51 будут считаться недействительными сертификаты, которые были выданы компаниями WoSign и StartCom после 21 октября 2016 года.

Подробнее о причинах такого решения читайте здесь.

Что делать в такой ситуации тем у кого скоро заканчивается срок действия текущих сертификатов и необходимо их продление в ближайшее время? Очевидно, что нужно обратить внимание на еще один сервис раздающий бесплатные SSL сертификаты для сайтов — Let’s Encrypt.

Для кого эта статья

В данной статье приведен пример автоматического получения бесплатного SSL сертификата, когда на сервере установлена операционная система CentOS 7.X и панель управления VestaCP версии 0.9.8-16.

В качестве веб-сервера у меня используется связка Apache+Nginx.

Ранее я писал как установить в панель VestaCP сертификаты от StartSSL — https://moonback.ru/page/startssl-vestacp

Алгоритм получения бесплатного сертификата

Выполните последовательно две команды из консоли, сначала:

#v-add-letsencrypt-user USERNAME

где USERNAME — имя пользователя в панели управления VestaCP.

а затем:

#v-add-letsencrypt-domain USERNAME DOMAINNAME.TLD

где USERNAME — имя пользователя в панели управления VestaCP, а DOMAINNAME.TLD — доменное имя зарегистрированное в панели VestaCP у данного пользователя.

Ошибка LetsEncrypt account registration 400 на CentOS 7

Если при попытке создания сертификата вы получаете сообщение об ошибке:

/usr/local/vesta/bin/v-add-letsencrypt-user: line 59: xxd: command not found
/usr/local/vesta/bin/v-add-letsencrypt-user: line 63: xxd: command not found
Error: LetsEncrypt account registration 400

то сначала установите недостающее:

#yum install vim-common

а затем отредактируйте 44 строчку в файле: /usr/local/vesta/bin/v-add-letsencrypt-user, заменив ее на

agreement='https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf'

После этого получение сертификата должно пройти без ошибок.

Проверка полученного сертификата

Для проверки зайдите в настройки домена и проверьте настройки HTTPS, вы должны увидеть настроенные сертификаты:
letsencrypt_0

Затем посетите свой сайт по HTTPS протоколу и посмотрите его сертификат:
letsencrypt_1

letsencrypt_2



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

Сертификат LetsEncrypt выдается на 90 дней. Когда до окончания срока его действия останется меньше 30 дней, то сертификат можно будет продлить, для этого необходимо выполнить в консоли следующее:

#v-update-letsencrypt-ssl

Эта команда обновляет ssl сертификаты сразу для всех доменов и пользователей.

При желании эту задачу можно возложить на CRON. В моем примере попытка обновления SSL сертификатов будет предприниматься раз в 15 дней в 12-00. Сертификаты, у которых до окончания срока действия остается менее 30 дней, будут автоматически обновлены.

Переадресация на HTTPS

Для автоматической переадресации посетителей сайта на HTTPS добавьте следующие строки в файл .htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Благодарности

При написании статьи были использованы следующие источники:

  1. https://geektimes.ru/post/281188/
  2. https://forum.vestacp.com/viewtopic.php?t=11905
  3. https://forum.vestacp.com/viewtopic.php?t=12317
  4. http://alexxkn.ru/LetsEncrypt_russian_translation
  5. http://www.vestacp.com/docs/#how-to-redirect-http-https

 Метки:  , ,

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Технический блог © 2016
SQL - 42 | 0,149 сек. | 7.76 МБ