Протокол HTTPS представляет собой “улучшенную” версию обычного HT
TP, в котором реализовано шифрование трафика, передаваемого между сервером и браузером пользователя. HTTPS значительно усложняет перехват или подмену информации. Вмешиваясь в работу протокола можно перехватить личные и платежные данные, отправляемые в формах, подменять контент на страницах. Как способ повысить безопасность пользователей, поисковые системы ввели новый фактор ранжирования — наличие SSL-сертификата, задача которого — защищать данные. В результате, те сайты, которые еще не осуществили переход на HTTPS заметно просели в выдаче и потеряли немалую часть позиций и переходов.
Если вы все еще сомневаетесь — переводить ли сайт на HTTPS, то однозначный ответ на этот вопрос — да, это необходимо. А в этой пошаговой инструкции мы подробно расскажем как сделать сайт защищенным и не потерять позиции в поиске.
Основные проблемы переезда сайта на HTTPS
Сомнения по поводу целесообразности перехода с HTTP на HTTPS у вебмастеров вызывает необходимость покупки и установки SSL-сертификата, а также настройки переадресации. Купить сертификат не трудно, но для того, чтобы его установить на сайт и обеспечить сохранение имеющихся позиций в Яндекс и Google нужны определенные знания, без должной подготовки действительно можно “наломать дров”. Кроме того, для большинства статейных (информационных) сайтов вполне достаточно бесплатного сертификата, но его подключение также требует навыка работы с командной строкой или интерфейсом панели управления хостингом.
На самом деле, получить бесплатный SSL и перевести сайт на HTTPS не так сложно. Далее в этой статье вы найдете последовательность шагов, следуя которой легко и безопасно сможете перевести сайт с HTTP на HTTPS.
Как работает SSL и в чем разница между платными и бесплатными сертификатами
Перед тем, как подключить HTTPS на сайте нужно получить сертификат. Он представляет собой пару несимметричных ключей шифрования, которые позволяют устанавливать шифрованное соединение между веб сервером и браузером посетителя. Чисто теоретически создать такие ключи можно совершенно бесплатно и самостоятельно, но только толку от такого сертификата не будет.
Все дело в доверии. Каждая пара ключей содержит цифровую подпись центра сертификации, который также получает подтверждение своих полномочий в корневом центре, получается своеобразная цепочка подписей. Сгенерированные вами ключи не будут содержать цепочки подписей удостоверяющих центров и по этой причине будут считаться ненадежным. Поэтому придется получить сертификат сайта HTTPS (SSL) — платный или бесплатный, но самое главное, чтобы он считался доверенным.
Существует много вариантов сертификатов с различным уровнем доверия. При этом, каждый центр, как правило, дает продуктам собственное название, но если использовать обобщенный подход, то получится всего три типа SSL.
- С проверкой домена (Domain Validation). Самый простой тип сертификата, для его получения достаточно внести указанную центром запись в DNS и таким образом подтвердить принадлежность домена именно вам. Например, таким образом можно получить бесплатный сертификат от Let’s Encrypt, но есть и платные SSL с аналогичным уровнем доверия. Стоят они совсем недорого, проверка выполняется в автоматическом режиме и всего через несколько минут после ее завершения в вашем распоряжении будет сертификат с минимальным, но достаточным уровнем доверия.
- Более серьезный подход к переводу сайта на HTTPS — покупка сертификата Business Validation, подразумевающего базовую проверку компании. Обычно все сводится к подтверждению номера телефона. Такие сертификаты дороже, но и уровень доверия браузеров и поисковых систем к ним выше.
- Подключение HTTPS к сайту c помощью сертификата Extended validation (EV) или расширенной проверки гарантирует высший уровень доверия. Перед выдачей такого сертификата проверяются контактные телефоны, фактические и юридические адреса компании. Цены весьма высоки (от $1000)? но если вы не планируете работать непосредственно с деньгами клиентов (не просто принимать платежи в интернет-магазине, а обслуживать счета), то SSL версии EV вам не нужен.
Сертификат можно купить в компаниях реселлерах — в этом случае вы получите файл с ключами, но если вы планируете перевод сайта с HTTP на HTTPS то проще обратиться к хостеру. Впрочем, сертификат можно и не покупать, а получить бесплатно.
Как бесплатно осуществить переход сайта на HTTPS
Такая возможность есть. Компании Free SSL Space и Let’s Encrypt совершенно бесплатно выпустят сертификат для вашего сайта. Правда, работать он будет только 3 месяца, вместо 1 года, но по уровню доверия он вполне соответствует платным SSL в в версии Domain Validation.
По сравнению с Let’s Encrypt, решение от Free SSL Space позволяет намного удобнее осуществлять автопродление (нужно зайти на сайт компании). Но поддержка Let’s Encrypt уже интегрирована в популярные панели управления хостингом и VPS (ISPManager и другие), там уже настроена последовательность операций по запросу нового сертификата после окончания предыдущего — от пользователя не требуется вообще никаких действий. Кроме того, Let’s Encrypt — в настоящее время единственная компания где можно получить бесплатный wildcard-сертификат (он выдается на сам домен и на все возможные его поддомены), все остальные типы сертификатов защищают только один домен любого уровня.
Внимание! Далее порядок подключения будет демонстрироваться на примере ISP Manager 5. Это одна из самых популярных панелей управления, которая поддерживается большим числом хостеров. Даже если в списке услуг вашего хостера нет этой панели, всегда можно попросить подключить ее в технической поддержке.
Запрос к Lets Encrypt осуществляется в несколько простых шагов:
Откройте пункт SSL-сертификаты из левого меню и нажмите кнопку “Let’s Encrypt”:
Затем заполните поля – имя сертификата и домена, на который он будет выдан, поставьте тип проверки “DNS”, но только в том случае, если у вас есть доступ к управлению NS-записями. Обратите внимание! выдача Wildcard-сертификата возможна только через проверку DNS.
После нажатия кнопки “Ок” в панели будет сформирована задача на получение сертификата. Через несколько минут сертификат станет доступен для использования. Если вы работаете с ISP5, то о сроках истечения SSL можно не переживать: система сама обновит его до окончания срока действия.
Как подключить сторонний SSL-сертификат
Если выкупили SSL, то перед тем как добавить HTTPS на сайт нужно подключить сам сертификат. Это не сложно. В той же панели ISP5 снова откройте пункт SSL-сертификаты, но теперь нажмите кнопку “Создать” выберите “Существующий”
Откройте полученный файл SSL-сертификата блокнотом или специальным средством просмотра Windows и скопируйте символы в соответствующие поля:
Нажмите “Завершить” Ваш сертификат добавлен, осталось выполнить подключение HTTPS к сайту и настроить редиректы
Как настроить HTTPS на сайте (панель)
Теперь когда вы получили сертификат, нужно сообщить вашему веб-серверу, что необходимо использовать HTTPS протокол. В той же ISP 5 эти настройки осуществляются в пункте меню Web-домены.
Выберите нужный домен сайта, для которого хотите провести установку HTTPS (можно дважды кликнуть на ссылке в таблице или нажать кнопку “Изменить”). Если на предыдущих шагах вы все сделали правильно, SSL с указанным вами именем появится в выпадающем списке.
Выберите сертификат, укажите SSL-порт (443) установите чекбокс “Защищенное соединение”. HSTS и перенаправление пока не включайте — эти функции отвечают за форсирование именно HTTPS соединения, вам же пока нужно, чтобы сайт оставался доступным и по HTTP тоже.
Как перейти на HTTPS (настройки CMS)
На следующем шаге нужно настроить вашу CMS — движок сайта, то есть указать ему, что нужно использовать безопасное соединение. Например, в Joomla нужно зайти в Общие Настройки во вкладку “Сервер” и в выпадающем списке “Включить SSL” выбрать “Весь сайт” и сохранить изменения.
Теперь можно проверить, доступна ли главная страница вашего ресурса по защищенному соединению. Для этого наберите в браузере его адрес с https. Если сайт открывается — значит первый этап настройки успешно завершен. осталось решить вопрос с переадресацией, также понадобится указать поисковым системам на необходимость использования защищенного протокола.
Как сделать редирект с HTTP на HTTPS
Перенаправление на HTTPS будет обеспечивать отображение верной страницы при переходах к сайту с внешних источников и из поиска. Правильная настройка редиректа — важная часть перехода сайта с HTTP на HTTPS. Внимательно отнеситесь к этой задаче и контролю результатов — это позволит сохранить имеющиеся позиции и не потерять существующее количество переходов из поиска. Кроме того, настройка редиректа сайта на HTTPS позволяет загружать абсолютно все данные по защищенному протоколу. То есть, не только страницы со статьями или товарами в интернет магазине, но и файлы стилей и скрипты, что не всегда возможно реализовать одним только включением Ssl-сертификата в настройках CMS.
Для начала вам потребуется доступ к файлу .htaccess или конфигурации Ngnix. Поскольку подавляющее большинство хостеров используют веб-сервер Apache, проблем с поиском основного конфигурационного файла возникнуть не должно – он лежит в корне вашего сайта. Открыть его можно обычным блокнотом.
Существует как минимум два десятка способов настройки редиректа HTTPS для сайта. Их работоспособность определяется конфигурацией конкретного сервера. Приведенный ниже пример работает в 95% случаев:
RewriteEngine on
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%/$1 [R=301,L]
Если на вашем хостинге используется Ngnix и/или вы не можете найти файл .htaccess (хостинг на Windows), то можно воспользоваться редиректом php. Найдите основной файл, который загружается первым при открытии сайта (обычно – index.php) и добавьте в самое его начало следующий код:
if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == ""){
$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
header("HTTP/1.1 301 Moved Permanently");
header("Location: $redirect");
}
Теперь осталось только проверить доступность страниц сайта по протоколу HTTPS. Если все нормально — включите HSTS и перенаправление в HTTPS в настройках веб-домена. Теперь при обращении к странице по HTTP будет открываться этот же материал, но по HTTPS. 301-й редирект
Внимание! Иногда включение дополнительного перенаправления может приводить к появлению ошибки циклического редиректа в браузере. В этом случае рекомендуем отключить перенаправление в настройках веб-сервера, оставив только редирект в .htaccess.
Завершение переезда сайта на HTTPS
Все работает, но осталось сообщить поисковым системам, что теперь нужно использовать зеркало сайта с HTTPS. Если этого не сделать, то с каждым новым обновлением поисковой выдачи (по крайней мере — в Яндексе) страницы будут выпадать из поиска, но их версии с HTTPS добавлены не будут. На самом деле все просто. Функционал Яндекс Вебмастера позволяет организовать “Переезд сайта” буквально в несколько кликов мышью:
В перечне сайтов появится дополнительная защищенная версия домена, к которой “перетекут” все страницы с http по мере их переобхода роботами.
В Google Search Console все еще проще: нужно лишь добавить новый сайт с префиксом HTTPS, никаких других действий не требуется:
Подводя итоги
Как видите, подключить HTTPS на сайте не очень сложно, и можно обойтись даже бесплатными решениями и все сделать своими силами. Сложности могут возникнуть только на этапе настройки редиректа из-за нестандартной конфигурации веб-сервера, но вы всегда можете обратиться в службу технической поддержки за консультацией. В любом случае — переход к использованию SSL позволит вам как минимум сохранить имеющиеся позиции в поисковой выдаче и занять лучшие места сайтов-конкурентов, которые еще не используют защищенный протокол.