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

Опубликовано: 30 октября 2016 / Обновлено: 3 ноября 2016
Раздел(ы): GNU Linux - CentOS / Debian, SSL сертификаты, Вебмастеру, Панели управления хостингом, Программное обеспечение
Просмотры: 8991
Комментарии: 6

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 дней, будут автоматически обновлены.
Бесплатные сертификаты LetsEncrypt в панели управления VestaCP на CentOS 7

Переадресация на 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

Обсуждение (комментарии к статье)

  1. Спасибо!
    Все работает. Очень помогла статья.
    Вы сэкономили мне денег 🙂 теперь всем буду ставить SSL

  2. Спасибо, работает.
    Подскажите, а в 17 релизе Весты нельзя ли прям из панели получить сертификат?

    1. Да, начиная с версии 0.9.8-17 бесплатно оформить и подключить сертификат LetsEncrypt можно сразу из GUI панели VestaCP не прибегая к консоли. Но если возникнут ошибки, то воспользуйтесь рекомендациями из данной статьи.

      1. Спасибо, Юрий.
        А подскажите, как проверить срок действия сертификата (сколько осталось до окончания)?

          1. Спасибо. А то смутили письма-уведомления от Let’s Encrypt Expiry Bot об окончании срока сертификата.

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 16 | 0,192 сек. | 8.38 МБ