Подключение SSL-сертификата
Создание сертификата безопасности
Настройка редиректа
Подключение SSL к админке
Создание сертификата безопасности
Панель управления VESTA позволяет подключить сертификат безопасности SSL (Let's Encrypt), в один клик и всего за минуту! Насколько он актуален для вашего сайта — решать вам. Из плюсов его использования на коммерческих сайтах, и это "+1" к доверию потенциального клиента (т.к. многие пользователи привыкли видеть зелёные значки защищенного соединения на крупных, надёжных порталах). Также, SEOшники советуют переводить сайты на защищённое соединение, ибо это способствует лучшему их продвижению в поисковиках.
Let’s Encrypt — это центр сертификации, у которого можно получить бесплатный SSL‑сертификат для сайта.
Пришло время,
обезопасить
наши сайты!
VESTA позволяет подключить сертификат к домену как сразу в момент создания его в панели, так и после. Для этого переходим во вкладку WEB, и выбираем нужный нам сайт. Нажимаем РЕДАКТИРОВАТЬ
Прокручиваем страницу до пункта Поддержка SSL. Ставим флажки, как на картинке снизу.
В пункте Директория SSL оставляем папку public_html, т.к. в ней размещён наш сайт.
Поля SSL сертификат, Ключ SSL сертификата, Центр сертификации SSL оставляем пустыми.
Скролим ещё ниже...
Жмём зелёную кнопку Сохранить. Ждём пока страница самостоятельно обновится.
Когда это произойдёт появится сообщение, что изменения сохранены:
Снова перейдём выше во вкладку WEB. Находим наш сайт и видим в параметре Поддержка SSL стоит надпись Lets Encrypt. Это значит, бесплатный сертификат Lets Encrypt уже установлен и настроен.
Вернёмся в панель редактирования настроек сайта и видим, что SSL сертификат, Ключ SSL сертификата, Центр сертификации SSL автоматически заполнились:
Что ж, проверим в браузерах — набираем https://nash-site.com и видим те самые, зелёные замки, свидетельствующие о том, что мы перешли по защищенному соединению.
Настройка редиректа
Осталось установить редирект, чтобы посетители, которые перейдут по старинке по протоколу http попадали на защищённую страницу. Для этого загрузим специально отредактированный файл .htaccess в корневую папку сайта (public_html). Его содержание такое:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
.htaccess — это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера и настройками сайта с помощью различных параметров (директив) без изменения основного конфигурационного файла веб-сервера.
Вы можете скачать уже готовый файл .htaccess кликнув по кнопке:
Добавляем его в корень нашего сайта с помощью FTP-менеджера Filezilla
Переходим в браузере по ссылке: nash-site.com и видим что открывается страница с https в начале адреса. Значит всё сделали правильно:
В актуальной версии VESTA cертификат Lets Encrypt может использоваться только для одного домена, и не распространяется на поддомены. Т.е. если нам нужен SSL-сертификат для поддомена, его нужно генерировать тем же способом как и для домена.
Подключение SSL к админке
Если вы столкнулись с ситуацией, когда к сайту подключили SSL, и заходя на сайт он работает:
А вот переходя в админку VESTA соединение становится не защищенным:
Этот косяк VESTA можно легко подправить. Не буду долго вдаваться в подробности (их предостаточно в сети).
Для начала подключаемся к серверу через терминал SSH и даём новое имя самоподписанному сертификату: (копируем/вставляем/исполняем по очереди):
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
Далее создаём символическую ссылку для KEY. Нужно скопировать и исполнить команду, но вместо:
mysite.com - подставить тот домен, который вы ввели при установке VESTA:
ln -s /home/admin/conf/web/ssl.mysite.com.key /usr/local/vesta/ssl/certificate.key
Потом копируем/вводим следующую команду (не забываем заменить домен):
sudo cat /home/admin/conf/web/ssl.mysite.com.{crt,ca} > /usr/local/vesta/ssl/certificate.crt
Осталось перезапустить панель командой:
service vesta restart
Переходим в панель, видим результат - соединение защищено:
Осталось добавить в cron задачу обновления certificate.crt
Переходим в планировщик. Находим строку sudo /usr/local/vesta/bin/v-update-letsencrypt-ssl
Смотрим во сколько происходит выполнение этого здания.
В нашем случае это: 7 часов 04 минуты
Создаём новое задание.
Вводим команду:
sudo cat /home/admin/conf/web/ssl.mysite.com.{crt,ca} > /usr/local/vesta/ssl/certificate.crt && sudo service vesta restart
Далее установим время выполнения, где-то на 30 минут позже, например 7 часов 34 минуты:
(день, месяц, день недели ставим - *)
И сохраняем задание нажав на Добавить
Полезные ссылки:
Также в этом выпуске: