Перейти к содержимому

Бесплатный SSL-сертификат и перевод сайта на HTTPS

Генерация бесплатного SSL-сертификата от удостоверяющего центра Let’s Encrypt на хостинге Евробайт и последующий перевод сайта с протокола http на https. Ссылка на подробную инструкцию «Как сгенерировать сертификат Let’s Encrypt на шаред-хостинге?». Написана эта статья после получения SSL-сертификата на хостинге Евробайт для сайта Дешевые авиабилеты и перевода его на протокол https, чтобы не забыть последовательность действий.

  1. Почему Let’s Encrypt и Евробайт?
  2. Генерация и установка SSL-сертификата
  3. Изменение настроек сайта
  4. Регистрация сайта с https в Яндекс Вебмастере
  5. Регистрация сайта с https в Search Console

Почему Let’s Encrypt и Евробайт?

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

Особенности удостоверяющего центра Let’s Encrypt:

  • срок действия SSL-сертификатов, сгенерированных на Let’s Encrypt - 90 дней;
  • пользователь самостоятельно создает новые сертификаты и обновляет их;
  • у Let’s Encrypt нет службы техподдержки, как у платных удостоверяющих центров.

Самостоятельно сгенерировать SSL-сертификат, не имея опыта, на Let’s Encrypt достаточно сложно, но есть хостинг-провайдеры, которые поддерживают сертификацию Let’s Encrypt и помогают своим пользователям получить сертификат непосредственно на хостинге.

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

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

Генерация и установка SSL-сертификата

Подготовка к работе с инструкцией

Перед переводом сайта с протокола http на https необходимо выполнить следующие действия:

  • провести резервное копирование сайта;
  • скачать утилиту putty.exe;
  • найти письмо от хостинга Евробайт с регистрационными данными;
  • перейти на страницу с текстом инструкции.

Резервные копии могут понадобиться для восстановления сайта, если что-то пойдет не так. Не забывайте о резервном копировании перед любым вмешательством в файлы и базы данных вашего сайта.

Бесплатная утилита putty.exe понадобится для подключения по SSH в свой аккаунт на хостинге. Скачиваем ее с этой страницы в разделе «Alternative binary files» (32-битную или 64-битную версию на выбор).

Из письма Евробайт об активации хостинга понадобятся адрес, логин и пароль из раздела FTP/SSH для входа в аккаунт через командную строку утилиты putty.exe.

Письмо об активации хостинга Евробайт
Письмо об активации хостинга Евробайт

И, наконец, переходим в раздел вопросов и ответов хостинга Евробайт на страницу с инструкцией «Как сгенерировать сертификат Let’s Encrypt на шаред-хостинге?».

Генерация SSL-сертификата

Запускаем программу putty.exe:

Окно настроек утилиты putty
Окно настроек утилиты putty.exe

Приступаем к выполнению пунктов инструкции «Как сгенерировать сертификат Let’s Encrypt на шаред-хостинге?». Для первого из них - «Подключаемся по SSH в свой аккаунт» - нам понадобятся адрес, логин и пароль из письма Евробайт об активации хостинга.

Вписываем в поле Host Name указанный в письме адрес и нажимаем кнопку Open. Открывается окно командной строки с приглашением ввести логин:

Рабочее окно утилиты putty
Рабочее окно утилиты putty.exe

Вводим логин и нажимаем клавишу Enter, появляется приглашение ввести пароль, вводим пароль (при вводе пароля, в целях безопасности, никакие знаки в командной строке не отображаются) - нажимаем Enter. С первого раза войти в аккаунт по SSH получается не всегда, иногда сервер прерывает соединение.

Вставка из буфера обмена с помощью клавиатуры в программе putty.exe не работает, скопированный текст вставляется щелчком правой кнопки мыши.

Далее, поочередно копируем команды согласно инструкции «Как сгенерировать сертификат Let’s Encrypt на шаред-хостинге?», вставляем их в командную строку утилиты putty.exe и жмем Enter.

Не забываем в пункте 5 заменить domain.com на свой домен со своим расширением.

Пункт 6 выполнять не нужно - это констатация факта.

Файлы, указанные в пункте 7, будут выглядеть в FileZilla так:

Путь к сертификату в FileZilla
Путь к сертификату в FileZilla

В контекстном меню нужного файла выбираем «Просмотр/Правка», в открывшемся файле копируем текст и вставляем в соответствующее окно формы «Новый SSL сертификат». Обратите внимание, что в конце вставленных текстов не должно быть пробелов и невидимых символов переноса строки. Если они есть, удалите их кнопкой «Backspace», иначе, при попытке создать новый сертификат, будет выведено сообщение о неверной цепочке сертификатов.

Установка и обновление SSL-сертификата

Установка SSL-сертификата коротко описана в пункте 8 инструкции «Как сгенерировать сертификат Let’s Encrypt на шаред-хостинге?».

Чтобы сертификат применился для нашего домена, переходим в ISPmanager на вкладку «WWW домены», выделяем домен и нажимаем кнопку «Изменить». В открывшемся окне «Параметры WWW домена» ставим галочку в окошке SSL, появятся окошки «SSL порт» и «SSL сертификат». SSL порт отобразится автоматически (на изображении его номер стерт) а в окошке «SSL сертификат» выбираем только что созданный сертификат и нажимаем кнопку «OK».

Окно «Параметры WWW домена»
Окно «Параметры WWW домена»

На изображении, кроме номера «SSL порта», стерта и другая служебная информация.

Чтобы обновить сертификат для нашего домена перед окончанием срока его действия, необходимо создать новый сертификат, выполнив все пункты инструкции, кроме пункта 2, так как директория ~/private уже создана, и пункта 4, так как скрипт letsencrypt_eb.sh уже скачан и находится в директории ~/private. Иногда может понадобиться заново скачать скрипт letsencrypt_eb.sh. Когда новый сертификат будет готов, выбираем его в окне «Параметры WWW домена» и нажимаем кнопку «OK». Обновить сертификат можно не ранее, чем за 30 дней до окончания срока действия предыдущего сертификата.

Обратите внимание:

  • Имя нового сертификата должно отличаться от имени предыдущего, иначе он не применится. Можно использовать нумерацию, например: «мой-домен-1», «мой-домен-2», «мой-домен-3» и т.д.
  • При повторной генерации сертификата используется корневая папка указанного домена. Если в ней лежит файл .htaccess с настроенным перенаправлением на https, то перед запуском скрипта необходимо переименовать файл, например в .htaccess_ , а после завершения работы скрипта - переименовать обратно.

Изменение настроек сайта

После того, как SSL-сертификат впервые выбран в параметрах нашего домена, необходимо отредактировать файл robots.txt и организовать перенаправление адресов с http на их зеркала с https.

В файле robots.txt в директивах «Host» и «Sitemap» меняем в адресе «http» на «https».

Для перенаправления запросов по протоколу http на https служба поддержки Евробайт рекомендует добавить следующие строки в начале файла .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteCond %{HTTP:X-Forwarded-proto} !^https$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

У меня на сайте WordPress эта запись не сработала, поэтому для перенаправления был использован бесплатный плагин WP Force SSL, который не требует настроек после активации. Нареканий к его работе нет. На другом сайте планирую протестировать плагин Really Simple SSL, у которого выше рейтинг и больше пользователей.

На WordPress-сайтах необходимо вручную в параметрах «Адрес WordPress (URL)» и «Адрес сайта (URL)», которые находятся в админ-панели по адресу «Настройки» → «Общие», изменить «http» на «https».

Регистрация сайта с https в Яндекс Вебмастере

С рекомендациями Яндекса по переносу сайта с HTTP на HTTPS можно ознакомиться в блоге Платона Щукина.

Добавляем в Яндекс Вебмастер новый сайт с https ( это будет новое зеркало нашего старого сайта с http).

Выбираем в Яндекс Вебмастер новый сайт и добавляем в него адрес файла Sitemap с https в разделе «Индексирование» → «Файлы Sitemap».

После этого, выбираем старый сайт с http и в разделе «Индексирование» → «Переезд сайта» устанавливаем галочку «Добавить HTTPS» и нажимаем кнопку «Сохранить»:

Переезд сайта в Яндекс Вебмастер
Переезд сайта в Яндекс Вебмастер

У меня склейка зеркал произошла через 8 дней:

Склейка зеркал в Яндексе
Пример склеенных зеркал в Яндекс Вебмастер

Вместо ссылки «Переезд сайта», у старого сайта с http в Яндекс Вебмастер появилась ссылка - «Отклейка зеркал».

Цитата из раздела Яндекса «Помощь»:

Изменение адреса может занимать значительное количество времени. Яндекс не гарантирует сохранение количества страниц сайта в поиске, его позиций или посещаемости в случае изменения главного зеркала или склейки зеркал.

Как ни странно, через 13 дней обнаружил, что зеркала расклеились, у старого сайта с http вместо «Отклейка зеркал» снова появился раздел «Переезд сайта». Пока удивлялся и писал эти строки, зеркала вновь оказались склеенными. Чудеса, да и только.

Регистрация сайта с https в Search Console

С рекомендациями Google по переносу сайта с HTTP на HTTPS можно ознакомиться в Справке Search Console.

Не знаю, правильно или нет, но мои действия были такими:

  • добавил новый ресурс с https и выбрал его в Search Console;
  • в разделе «Сканирование» → «Инструмент проверки файла robots.txt» вставил текст из исправленного файла robots.txt и нажал кнопку «Отправить»;
  • в разделе «Сканирование» → «Файлы Sitemap» добавил файл Sitemap;
  • в разделе «Сканирование» → «Просмотреть как Googlebot» отправил запрос на индексирование главной страницы, запрос на индексирование страницы «Карта сайта» (с адресами всех страниц и записей) приняли только на следующий день;
  • выбрал старый ресурс с http и в разделе «Сканирование» → «Инструмент проверки файла robots.txt» вставил текст из исправленного файла robots.txt и нажал кнопку «Отправить».

В Search Console у нового сайта с протоколом https, после его добавления, в разделе «Файлы Sitemap» может появится предупреждение «Файл Sitemap содержит URL, доступ к которым заблокирован в файле robots.txt» с указанием количества всех URL из файла Sitemap. Через некоторое время все должно придти в норму.