Сертификат Let’s Encrypt для админки VestaCP вместо самоподписанного SSL сертификата

Опубликовано: 11 февраля 2018 / Обновлено: 20 февраля 2018
Раздел(ы): Панели управления хостингом
Просмотры: 4482
Комментарии: 1

С каждым днем браузеры все беспощадней относятся к незащищенным соединениям и самоподписным сертификатам. Если вы используете для управления хостингом панель управления VestaCP, то обратили внимание, что в последнее время подключение по IP адресу превращается в небольшой квест, и все это из-за самоподписного SSL сертификата.

Сертификат Let's Encrypt для админки VestaCP вместо самоподписанного SSL сертификата

Реакция браузера FireFox 58 на самоподписной сертификат VestaCP

VestaCP и сертификаты Lets Encrypt

Как известно последние версии VestaCP позволяют в автоматическом режиме получать и продлевать для доменов SSL сертификаты от Lets Encrypt. Насколько мне известно получить его для IP адреса нельзя, во всяком случае на момент написания статьи и именно в VestaCP от Lets Encrypt.

Поэтому напрашивается решение, чтобы не добавлять самоподписной SSL сертификат панели управления VestaCP в исключения в браузере, нужно обращаться к панели по доменному имени, например https://domainname.tld:8083. Но если вы сделаете это, то все равно получите сообщение об ошибке, что ваше соединение не защищено.

Подключаем SSL сертификат Lets Encrypt к админке панели управления хостингом VestaCP

Причина в том, что панель работает как отдельный сервис на порту 8083 и у нее свой самоподписной сертификат. Если мы хотим запускать ее используя доменное имя, то для панели нужно прописать сертификат от домена.

Можно использовать любое доменное имя зарегистрированное в панели для которого есть актуальный SSL сертификат. Я обычно использую технический домен у пользователя Admin.

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

Сначала сохраните старые сертификаты панели под новым именем (на всякий случай):

# mv /usr/local/vesta/ssl/certificate.crt /usr/local/vesta/ssl/certificate.crt.old
# mv /usr/local/vesta/ssl/certificate.key /usr/local/vesta/ssl/certificate.key.old

Далее создайте жесткую ссылку на действующий SSL сертификат. Это позволит всегда использовать актуальный сертификат для панели.

# ln -s /home/<strong>admin</strong>/conf/web/ssl.<strong>DomainName</strong>.crt /usr/local/vesta/ssl/certificate.crt
# ln -s /home/<strong>admin</strong>/conf/web/ssl.<strong>DomainName</strong>.key /usr/local/vesta/ssl/certificate.key

где admin — имя пользователя которому принадлежит домен с сертификатом, а DomainName — имя домена зарегистрированного в панели и для которого есть сертификат.

После этого перегрузите панель VestaCP:

# service vesta restart

Теперь зайдите в панель по имени домена, например https://domain name.tld:8083 и убедитесь, что все работает:

Сертификат Let's Encrypt для админки VestaCP вместо самоподписанного SSL сертификата

Если для получения SSL сертификатов вы используете Lets Encrypt, то с данным решением вам не придется каждые 90 дней вручную копировать сертификаты домена для панели, и уж тем более писать скрипт копирования и засовывать его в CRON. Этот способ заставляет панель считать сертификаты домена своими.

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

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

  1. ssl сертификат от LE для панели вместо самоподписаного
  2. Переходим на протокол HTTPS. SSL сертификаты VestaCP

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

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

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

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