SSL устанавливает зашифрованную связь между веб-сервером и веб-браузером посетителя. Это гарантирует, что данные, переданные между ними, остаются конфиденциальными и безопасными.

Для работы SSL необходима установка на сайт SSL-сертификата. Помимо защиты SSL-сертификат повышает рейтинг сайта в Google.

Благодаря Let’s Encrypt можно получить для сайта бесплатный сертификат SSL.

Для многих хостингов установить сертификат SSL от Let’s Encrypt можно в панели управления сайтом. Например, для Хостинг Украина установить бесплатный сертификат SSL можно в один клик:

установить сертификат SSL в один клик
При установке SSL сертификата инструментами хостинга сложностей обычно не возникает. Более того, сертификат при этом автоматически обновляется по истечении срока действия (90 дней).

Проблема: дубли сайта для https не «склеиваются»

s
Однако у меня возникла проблема: при автоматической установке сертификата SSL на поддомен после установки сертификата не удавалось «склеить» зеркала сайта для https (с www и без www.)
Дело в том, что при установке сертификата SSL для сайта добавляется еще 2 дубля (по протоколу https). Таким образом из 4 «зеркал» сайта: http://www.имясайтаhttp://имясайтаhttps://www.имясайта и https://имясайта надо выбрать один основной (с https, естественно).  А остальные дубли редиректом переадресовать на выбранный адрес.
Чтобы все пользователи просматривали сайт только через безопасное соединение https в файл .htaccess я добавлял такой код:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://имясайта/$1 [L,R=301]

где «https://имясайта» — имя поддомена (например: https://blog.electrostal.com.ua ).

Несмотря на настройки WordPress и редиректы в .htaccess — переадресация с www на без www для https никак не работала.

Решение: сертификат SSL должен быть на оба сайта

Средствами хостинга проверил сертификат SSL. Проверка показала, что сертификат для поддомена автоматически выпускается только на вариант сайта без www.

Получается так, что «склейка» сайтов для протокола https работает если сертификат SSL для поддомена выпущен на оба сайта (c www и без www ).

Браузеры интерпретируют домены с www и без www, как разные сайты. При редиректе сервер сперва проверял наличие сертификата на сайт, а лишь потом выполнял переадресацию на него. В моем случае сертификата на сайт с www не было — поэтому сервер редирект не производил.

p
Вывод для моего случая: для «склейки» сайтов на поддомене с сертификатом SSL нужно иметь сертификат SSL для полного имени сайта (с www и без www)

Как получить бесплатный сертификат SSL от Let’s Encrypt самостоятельно

Итак, в моем случае для решения проблемы «склейки» сайта для SSL нужно получить сертификат Let’s Encrypt на полный сайт (с www и без www). Хостинг автоматически генерировал сертификат только для «пол-сайта» — без www.

На запрос к техперсоналу хостинга о возможности автоматически создавать сертификат для сайтов на поддомене с www и без www получил отрицательный ответ: «Так сделать не получиться.»

Тогда отправил еще запрос:

Подсажите, как я могу самостоятельно заказать сертификат Let’s Encrypt. для «полного» сайта на поддомене

Через некоторое время получил ответ:
Увы, нет. Это возможно только с испльзованием соответствующего ПО Let`s Encrypt. Самостоятельно сформировать сертификат можно разместив сайт, например, на VPS-сервере. Разумеется, это потребует установки клиента Let`s Encrypt или панели управления сервером поддерживающй эту технологию ( например, ISPManager 5 или VestaCP), но в этом случае обещать что получится выписать сертификат для обоих поддоменов (subdomain.site.com и добавленного в псевдонимы www.subdomain.site.com) я не могу, так как там эта процедура также автоматизирована.

Решение нашел здесь: сервис SSL for FREE — сервис для самостоятельного создания сертификатов Let’s Encrypt.
сервис для создания сертификатов Let's Encrypt
С помощью этого сервиса самостоятельно сгенерировал бесплатный сертификат SSL от Let’s Encrypt. После этого разместил полученный сертификат на хостинге — и проблема «склейки» сайта на поддомене была успешно решена, редирект стал работать так, как надо.

Недостаток от такой установки — сертификат приходится обновлять раз в 3 месяца вручную, но это дело 5-ти минут.

Ниже привожу видео как получить сертификат от Let’s Encrypt с помощью сервиса SSLforFree и установить сертификат на сайт:

Александр Коваль.

Cсылки на ресурсы

  1. Cервис SSL for FREE — получить сертификат Let’s Encrypt самостоятельно
  2. Плагин Really Simple SSL помогает сконфигурировать сайт на WordPress для установки сертификата SSL
  3. Free SSL Server Test — проверка сертификатов
Рубрики: Создание сайта на WordPress и SEO и продвижение

Об авторе:

Александр Коваль

Александр Коваль

Предприниматель. IT-специалист. Создаю интернет-магазины, лендинги и другие сайты. Помогаю поддерживать их работу. Расширяю функционал и возможности сайтов на WordPress. Пишите если нужна помощь с сайтом или разработка "с нуля"

Share via
Send this to a friend