Установить SSL-сертификат и перевести сайт на HTTPS. Инструкция

Инструкция по самостоятельной установке SSL-сертификата (Secure Sockets Layer) и перехода на безопасный протокол HTTPS для сайта. Уделим внимание следующим вопросам: «Почему перевод на протокол HTTPS полезен для сайта? Как сделать это бесплатно? Как найти небезопасные ресурсы в коде сайта, которые мешают корректной работе протокола HTTPS с помощью браузера Google Chrome? Подключение к сайту защищено не полностью, как найти небезопасные элементы?»

Сайт Hpc.by на HTTPS

В материале:

Представители Google уже не раз заявляли, что все сайты (без исключения) в сети Интернет должны работать с использованием безопасного протокола HTTPS. Поскольку Google является законодателем моды в данной сфере, вектор всей отрасли понятен — сигнал получен.

Сайты, которые в своё время не перейдут на HTTPS будут понижены в ранжировании и потихоньку будут вытеснены другими «более прилежными» и безопасными сайтами. Перевести сайт на работу по протоколу HTTPS придётся всем.

На сегодняшний день есть еще много сайтов, которые работают с использованием небезопасного протокола HTTP. Данный протокол легко «прослушать» и похитить данные пользователя. Под угрозой: пароли, данные платёжных систем и другое.

HTTPS — это тот же протокол HTTP с поддержкой Transport Layer Security (TLS) и SSL (Secure Sockets Layer). Связка данных технологий позволяет создавать безопасный шифрованный сеанс связи между сервером и пользователем. Это является гарантией того, что персональные данные пользователя не смогут попасть в чужие руки без его на то согласия.

Почему необходимо перейти на защищённый протокол HTTPS уже сегодня?

Прежде всего, чтобы избежать санкций со стороны поисковых систем:

  • Позиции сайта с HTTPS не будут понижаться в ранжировании по сравнению с сайтами без использования безопасного протокола.
  • Сайт не потеряет трафик при переходе на безопасный протокол, а даже быстро нарастит его.
  • SSL сертификат для сайта можно установить бесплатно (Let’s Encrypt) или недорого приобрести его платную версию (Comodo SSL, GeoTrust SSL, Thawte SSL и др.).

Как перейти на протокол HTTPS бесплатно?

Для этого надо выбрать хорошую хостинг компанию, а затем выполнить самостоятельный перевод сайта на HTTPS по инструкции ниже.

Инструкция по самостоятельной установке сертификата SSL и перехода на HTTPS

Здесь описана процедура перевода сайта на HTTPS, установка сертификата через панель управления хостингом cPanel. Сам процесс не потребует глубоких знаний в области IT.

Во время перевода на HTTPS сайт будет постоянно доступен пользователям. Сам процесс происходит быстро и безопасно:

  1. Страхуемся — создаем архивную копию сайта и базы данных.
  2. Устанавливаем сертификат. Прописываем необходимые редиректы. Изменяем ссылки на сайте.
  3. Проверяем правильность установки сертификата и доступность сайта. Находим небезопасные страницы и ресурсы.
  4. Информируем поисковики Google и Яндекс, что наш сайт работает через HTTPS.

Подготовка

Делаем экспорт базы данных сайта — именно она может пострадать в результате наших действий.
Для сайтов на WordPress рекомендую установить плагин UpdraftPlus — Backup/Restore. Скачать его можно из репозитория WordPress. С помощью данного плагина надо сохранить базу данных сайта и скачать его на компьютер (желательно). Всё — подготовка завершена.

Установка сертификата SSL и переход на HTTPS

Заходим в панель управления хостингом cPanel.

Заходим в панель управления хостингом cPanel

.

Идём в пункт «Безопасность» -> Let’s Encrypt.

Let's Encrypt

Далее. Выпустить новый сертификат. Выбираем домен. Жмём кнопку «Выпустить».

Выпустить новый сертификат

Установка сертификата на wikiart.by. На данном этапе нам предложат выбрать дополнительные поддомены (Addon Alias). Первую галку в пункте «Включать» снимаем (т.е. исключаем mail.wikiart.by), а остальные выбираем. Жмём «Выпустить».

Установка сертификата

Далее сервер задумается и выдаст следующее сообщение: «Сертификат SSL теперь установлен для домена «………… — псевдоним «……………»» с IP-адресом «93.125.99.78». Перезапуск Apache выполняется в фоновом режиме.»

Сертификат SSL теперь установлен для домена

После этого возвращаемся на главную страницу cPanel.
Через несколько минут проверяем установлен ли сертификат для сайта. Попытаемся открыть сайт по протоколу HTTPS. В нашем случае вбиваем в строку браузера Chrome адрес https://wikiart.by.

Проверяем установлен ли сертификат для сайта

Сайт должен открыться и появиться зелёная подсветка протокола — сертификат установлен и соединение безопасно. Если сайт открывается по протоколу HTTPS, но строка не зелёная необходимо выяснить, что является небезопасным контентом на нашем сайте. Чаще всего — это ссылки на сайте и счётчики, которые имеют небезопасное соединение по протоколу HTTP.

Для просмотра установленного сертификата достаточно кликнуть на букву в начале протокола HTTPS поисковой строки браузера — как на картинке. Затем нажать «Подробнее»

Подробности SSL
Сертификат SSL

Таким образом бесплатный сертификат Let’s Encrypt установлен. Содержимое небезопасное придётся удалить с сайта и изменить протокол для всех ссылок на сайте.

Меняем все внутренние ссылки сайта с HTTP на HTTPS

Нам понадобится Генератор SQL-запросов, (можно использовать этот: https://truemisha.ru/tools/sql-domain-replace) необходимых при смене домена сайта на WordPress.

Генератор SQL-запросов состоит из трёх полей ввода — Старый домен, Новый домен, Префикс таблиц. Новый и старый у нас будет отличаться лишь протоколом (https вместо http), а префикс таблиц (по умолчанию — это wp_, но иногда его меняют в целях безопасности) можно уточнить в файле wp-config.php, который лежит в корневой папке сайта WordPress. В файле он выглядит приблизительно так $table_prefix = 'wp_';.

Генератор SQL-запросов создаст запрос (обращение на понятном языке) к базе данных сайта и попросит изменить все ссылки на сайте с http протокола на https.

Генератор SQL-запросов

Формируем запросы, проверяем ещё раз правильность исходных вводных данных. Затем заходим в phpMyAdmin из панели управления хостингом cPanel. Выбираем целевую таблицу базы данных (если их несколько. Уточнить целевую таблицу можно в том же файле wp-config.php).

phpMyAdmin

Копируем полученный запрос из генератора SQL-запросов в поле SQL (Выполнить SQL-запрос(ы) на сервере «localhost»: ).

Выполнить SQL-запрос

Запросы выполнены. Все ссылки на сайте изменены на протокол HTTPS.

Устанавливаем редирект с HTTP на HTTPS

Данная переадресация выполняется для того, чтобы склеить домены https://wikiart.by и https://wikiart.by. Т.е. все ссылки с других ресурсов и поисковиков будут отрываться с шифрованием по адресу https://wikiart.by.
Переадресацию выполним с помощью кода, который скопируем в файл .htaccess в корневом каталоге сайта (отредактировать можно с помощью любого FTP клиента).

Прописываем 301 редирект с HTTP на HTTPS в файл .htaccess

Вариант №1

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Вариант №2

RewriteEngine On

RewriteCond %{HTTPS} =on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Вариант №3 (если не сработали предыдущие)

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Теперь при попытке подключится к сайту по протоколу HTTP (http://wikiart.by) будет произведён редирект на https://wikiart.by.
Проверить это можно помощью сервиса https://gtmetrix.com, который также проверит скорость работы сайта. В разделе WaterFall будет видна попытка подключения по небезопасному протоколу и переадресация.

gtmetrix.com

Завершающий этап

Осталось:

  1. Проверить доступность файла robots.txt по защищённому протоколу;
  2. Изменить в robots.txt значения host на правильные с протоколом HTTPS (а также адрес sitemap);
  3. Уведомить поисковые системы Google и Яндекс о том, что сайт переехал на новый адрес (для скорейшей индексации)
  4. удалить счётчики, которые мешают отображению «зелёного протокола» в строке браузера. Для этого надо определить небезопасные ресурсы и удалить их с сайта (заменить).

Изменяем содержание файла robots.txt

В рамках данной статьи нас интересует изменения в блоках: Host и Sitemap файла robots.txt. Host рекомендуется прописывать с новым протоколом https://. Насколько это делать корректно сложно сказать — каждый будет решать сам.

Sitemap необходимо указать с учётом протокола и расположения файла. В данном примере файла robots.txt были изменены лишь две последние строки Host и Sitemap:


User-agent: *

Allow: /wp-includes/

Allow: /wp-content/themes/wikia/

Allow: /wp-content/plugins

Disallow: /xmlrpc.php

Disallow: /wp-trackback

Disallow: /wp-feed

Disallow: /wp-comments

Disallow: /wp-login.php

Disallow: /wp-register.php

Disallow: /trackback

Disallow: /cgi-bin

Disallow: /comments

Disallow: *?s=

Host: https://wikiart.by

Sitemap: https://wikiart.by/sitemap_index.xml

Как найти небезопасные ресурсы на сайте с помощью браузера Google Chrome

Подключение к сайту защищено не полностью. Как устранить данную ошибку?
Нажимаем на значок в адресной строке браузера -> Подробнее -> Owerview (слева в окошке). Небезопасные будут помечены красным.

На данный момент работает другой способ устранения ошибки «Подключение к сайту защищено не полностью». Для этого необходимо при работе в браузере Google Chrome с открытой небезопасной страницей:

  1. Нажать Ctrl + Shift + i;
  2. Зайти в закладку Network (обновить страницу Ctrl + F5);
  3. Найти небезопасный ресурс который работает по протоколу HTTP;
  4. Изменить источник ресурса;
  5. Проверить результат.
Небезопасное содержимое на сайте

Переход сайта на протокол HTTPS полностью осуществлён.

1 комментарий к “Установить SSL-сертификат и перевести сайт на HTTPS. Инструкция”

  1. Мне было довольно важно разобраться во всех этих http, https, ssl…что это такое, в чем разница и так далее. Для меня это все темный лес)

Обсуждение закрыто.