К концу 2018 года я стала замечать все больше и больше сайтов с установленным SSL – сертификатом, и соответственно изменённым адресом сайта с http на https.

Хотя многие не предали особое значение новости от компании Google, о том, что сайты с протоколом http будут понижены в поисковой выдаче, а также браузер Google Chrome будет помечать такие сайты как небезопасные.

Но сейчас все изменилось, появились инструкции по переходу, многие хостинги предлагают данную услугу при регистрации домена. Я тоже установила SSL – сертификат на своем сайте и настроила переезд адреса на новый с https.

Признаюсь честно этап покупки, установки и настройки сертификата совсем не легкий. Я использую сервер от компании REG.RU, там достаточно полная инструкция, поэтому «танцев с бубном» не было.

В статье хочу рассказать как легко справиться с переездом на https и показать все этапы от покупки до настройки SSL-сертификата на свой сайт.

Что такое HTTPS

HTTPS – HyperText Transfer Protocol Secure, это все тот же протокол http, только с функцией шифрования.

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

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

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

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

Как проверить безопасность соединения с сайтом

Защищенный протокол представляет собой сертификат с содержанием некоторой информацией.

Когда вы посещаете любой веб-ресурс, то сервер передает браузеру информацию о сертификате и ваш браузер сообщает вам о защищенном соединение или об угрозе.

В адресной строке браузера Google Chrome, рядом с URL сайта, можно увидеть иконку, которая показывает о защите соединения.

Каким сайтам нужно переходить на протокол HTTPS

Всем. Будь это личный блог или портал, а может быть интернет-магазин. В любом случае нужно переводить адрес сайта на https. Прежде всего наличие установленного SSL-сертификата – это дополнительная защита для посетителей сайта.

Как перейти на https

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

Виды сертификатов

Что такое SSL -сертификат и зачем нужен? SSL – сертификат – индивидуальная цифровая подпись для домена. Какой SSL – сертификат выбрать?

Различают несколько видов:

  • Самоподписанный сертификат SSL – такой сертификат вы сами выпускаете и сами заверяете, но к такому сертификату нет доверия.
  • Доверенный , подписанный центром сертификации – это означает, что информация, содержащаяся в сертификате проверена центром сертификации. Доверие со стороны браузеров к таким сертификат выше, так как в браузерах присутствует цепочка корневых сертификатов. Центры сертификации дают гарантию и денежную страховку в случае взлома. Популярные центры сертификации: Comodo, GlobalSign, AlphaSSL, Symantec, RapidSSL.

Типы сертификатов

  • Domain Validated (DV – проверка домена) – для получения такого сертификата не нужно предоставлять документы, так как он подтверждает, что действительно домен принадлежит вам, но такой сертификат не дает гарантии, что компании или владельцу сайта можно доверять. Больше всего такой тип сертификата подойдет – всем, кроме интернет-магазинов и банковских организаций. Для получения сертификата достаточно потвердеть владение доменом. Выдача сертификата обычно происходит достаточно быстро. Кстати, такой тип SSL-сертификата самый дешевый. SSL-сертификат доступен физическим лицам и юридическим компаниям.
  • Organization Validated (OV – с проверкой организации) – такой тип сертификата выдается компаниям, которые прошли дополнительную проверку, а именно проверку регистрационных документов организации или индивидуального предпринимателя. Также проводят проверку на владение доменом. Такой сертификат необходим компаниям, которые хранят и обрабатывают персональные данные. Например, интернет-магазинам.
  • Extended Validation (EV – с расширенной проверкой) – при посещении такого сайта, в адресной строке пользователь видит зеленую строку с названием компании. Получить такой сертификат сложнее, но и доверие к такому сайту намного выше. Посетители сайта могут быть уверены, что такая компания точно существует и этот сайт принадлежит ей. Получать такой сертификат необходимо компаниям, связанным с финансовой деятельностью, например банкам, платежным системам. Получение такого сертификата может занять до 9 дней, из-за проверки документов организации. Такой тип сертификата самый дорогой.

SSL – сертификат для домена и поддомена.

Сертификаты отличаются по количеству доменов, на которые распространяется их действие.

  1. SSL-сертификат для одного домена - действие сертификата распространяется на один домен (на поддомены будет не действителен)
  2. Мультидоменный SSL-сертификат (Multi-domain) - обычно такой сертификат возможно установить на 100 доменных имен, но в первоначальную стоимость входит защита трех доменов, а остальные докупаются по мере необходимости.
  3. SSL-сертификат Поддомены (Wildcard) - действует на домен и все его поддомены.
  4. SSL – сертификаты с поддержкой национальных доменов – возможность защитить домен в зоне. рф и другие.

На основе выше написанного вам легко будет сделать выбор какой SSL – сертификат подойдет для вашего сайта, а также определить какое количество доменов необходимо защитить. Далее можно приступать к покупке, установке и настройка SSL – сертификата.

Как и где заказывать сертификат?

Центров сертификации достаточно много, а также партнеров, которые продают сертификаты этих центров. Но при покупке важно учитывать установлены ли корневые сертификаты этих центров в браузеры. Иначе после установки сертификата, браузер напишет, что сайт не защищён.

У крупных центров сертификации таких как Comodo , GlobalSign , AlphaSSL , Symantec , RapidSSL , с корневыми сертификатами все в порядке, поэтому смело можно покупать сертификат у одного из центров сертификации, либо у партнеров.

Самые дорогие сертификаты, как правило у центров сертификации, а дешевые SSL – сертификаты у партнеров.

Партнерами также являются хостинг-провайдеры и регистраторы доменов.

Я купила Comodo SSL – сертификат у партнера firstssl.ru . Именно на примере этого сайта, покажу, как происходит покупка и установка SSL – сертификата.

Как установить бесплатный SSL – сертификат для сайта, на примере t.

Как SSL – сертификат купить у партнера центра сертификации

Заходим на главную страницу сайта firstssl.ru и выбираем подходящий SSL-сертификат.


После выбора необходимого сертификата, выберите срок действия SSL – сертификата (сейчас доступно 1-2 года), далее нажимаем кнопку Купить.

Регистрируемся , и попадаем в личный кабинет FirstSSL .


Личный кабинет находится по адресу my.firstssl.ru , сейчас компания работает на новым интерфейсом, я использовала пока старую версию личного кабинета.



В меню сбоку – выбираем Товары -> SSL – сертификат -> Заказать .


Теперь шаг за шагом, начинаем покупать сертификат.

Шаг 1 . Выбираем подходящий тип сертификата на один или два года (необходимо если не выбрали на главной странице), далее нажимаем кнопку Параметры .


Шаг 2. Запрос на получение сертификата -> сгенерировать запрос, ниже заполняем данные запроса. В поле организация, если у вас нет ИП, то можно указать ФИО владельца сайта.


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


Шаг 4. Контактные данные. Указываем контакт администрации сайта и контакт технического специалиста, если у вас на сайте это один человек, отметьте галочку использовать данные администратора.


Шаг 5. Подтверждение сертификата. Подтвердить необходимо владение доменом, для подтверждения доступны три варианта:


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


После успешного подтверждения, увидите следующие окно.


Шаг 6. Оплачиваете SSL-сертификат, если не сделали это раньше. После оплаты нужно еще немного подождать, так как идет процесс выпуска сертификата.

После успешного выпуска сертификата придет сообщение на почтовый адрес или будет видно в строке состояние в личном кабинете.


Скачиваем все три файла на свой компьютер и приступаем к следующему шагу установки SSL – сертификата на хостинг.

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

Я использую CMS WordPress, если используете другие CMS настройки могут отличаться.

Перед любым вмешательством в код сайта обязательно сделайте резервную копию.

Изменение абсолютных ссылок на относительные

  • http://site/ – абсолютная ссылка с http
  • https://site/ – абсолютная ссылка с https
  • //site/ – относительная ссылка

HTTP / HTTPS Remover

Плагины -> Добавить новый, вводим HTTP / HTTPS Remover в строку поиска, а после активируем. Готово.


Такой способ быстрый, а значит не без минусов. Проблема возникнет в каноническом URL.

При проведении планово аудита сайта, с помощью программы ComparseR, увидела, что URL и rel=”canonical” не совпадают.


Атрибут rel=”canonical” важен, так как не правильно указанный атрибут может привести к ненужным дублям или вовсе неиндексации страниц.

Поэтому было принято решение о переходе на абсолютную ссылку с https.

Измение ссылок необходимо проводить в phpMyAdmin, поэтому я сделала с помощью скрипта Search Replace DB.

Search Replace DB


Такой отчет увидите, если все правильно.

Ошибки при редиректе

Ошибка: Сервер отвечает редиректом на запрос /robots.txt

Так как после редиректа сайт будет доступен по новому адресу, и склейка адресов будет не быстрой (где то около двух недель), файл robots.txt в Яндекс Вебмастере не будет доступен по старому адресу, и за это время в поисковую выдачу могут попасть ненужные страницы.


Для того чтобы это не произошло, нужно исключить файл robots.txt при редиректе. Строка RewriteCond %{REQUEST_URI} !^/robots.txt

После того как сайт стал доступен по новому адресу, заходим в панель Яндекс Вебмастер -> Индексирование -> Переезд сайта.


После этого появятся все данные по сайту.


В Google Search Console переезд сайта на новый адрес настроить проще, нужно просто добавить свой сайт как новый и все.



Ну вот и все, статья получилась очень большая, но я думаю достаточно подробная. Смело осуществляйте перевод сайта на https. Появились вопросы напишите в комментарии, я обязательно отвечу.

TLS или безопасность транспортного уровня - предшественник SSL, отвечает за безопасность на уровне сокетов, по сути это защищённый протокол созданный для того, чтобы обеспечить безопасную передачу обычного сетевого трафика.

За счет этих протоколов информация может быть безопасно передана между двумя узлами не будучи при этом перехваченной и прочтённой третьими лицами. Также они отвечают за проверку подлинности домена и сервера, проверяя достоверность сертификата.

В этой статье я расскажу как создать самостоятельно подписанный сертификат SSL для Apache на базе Ubuntu 14.04, что позволит вам шифровать поступающий трафик. Хотя такой способ не обеспечивает проверки подлинности сервера, он позволяет пересылать информацию в защищенном режиме.

Требования

Прежде чем начать, требуется выполнить некоторые настройки. Пользователь, под которым мы будем работать должен иметь sudo привелегии. Также нам понадобится установленный Apache. Если вы его ещё не установили, то можете сделать это выполнив следующие команды:

Sudo apt-get update sudo apt-get install apache2

Шаг 1 - Активация модуля SSL

Пакет Apache для Ubuntu 14.04 по-умолчанию поддерживает SSL . Его достаточно просто активировать. Команда для активации модуля:

Sudo a2enmod ssl

После активации SSL следует перезапустить сервер для вступления в силу новых настроек:

Теперь наш веб сервер поддерживает SSL, осталось выполнить некоторые настройки.

Шаг 2 - создание подписанного сертификата SSL

Для начала создадим поддиректорию в каталоге настройки Apache, где будем хранить сертификат.

Sudo mkdir /etc/apache2/ssl

Теперь создадим здесь ключ и сертификат одной командой:

Sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Давайте подробно разберёмся в параметрах команды:

  • openssl - основной инструмент для создания и управления сертификатами, ключами, запросами на подпись и т.д. для OpenSSL
  • req - этот параметр задаёт запрос на подпись сертификата X.509. X.509 - стандартная структура открытого ключа, которой придерживается SSL для управления ключами и сертификатами. Нам необходим этот параметр так как мы хотим создать новый сертификат.
  • -x509 - этот параметр указывает на то, что мы хотим создать самостоятельно подписанный сертификат.
  • -nodes - указывает на то, что мы не хотим создавать кодовую фразу. При создании кодовой фразы у вас могут возникнуть проблемы при автоматическом запуске Apache, так как каждый раз придется её вводить.
  • -days 365 - срок действия сертификата - один год.
  • -newkey rsa:2048 - этот параметр указывает на одновременное создание приватный ключа и запроса на сертификат. Это необходимо, так как мы не создали приватный ключ заранее. rsa:2048 - создает RSA ключ длиной 2048 бит.
  • -keyout - имя файла создаваемого приватного ключа.
  • -out - имя файла создаваемого сертификата.

После запуска этой команды вам предстоит ответить на несколько вопросов. Наиболее важный из которых - Common Name (e.g. server FQDN or YOUR name)". Здесь следует ввести доменное имя ассоциируемое с сертификатом, или открытый IP адрес при отсутствии доменного имени.

Вопросы выглядят примерно следующим образом:

Country Name (2 letter code) :RU State or Province Name (full name) :Moscow Locality Name (eg, city) :Moscow Organization Name (eg, company) :Your Company Organizational Unit Name (eg, section) :Department of Kittens Common Name (e.g. server FQDN or YOUR name) :your_domain.com Email Address :[email protected]

Ключ и сертификат будут созданы в каталоге /etc/apache2/ssl .

Шаг 3 - Настройка Apache для использования SSL

Теперь у нас есть сертификат и ключ и мы можем настроить Apache для использования этих файлов в файле виртуальных хостов. Вместо использования шаблона 000-default.conf мы воспользуемся шаблоном default-ssl.conf , который уже включает в себя некоторые необходимые настройки.

Откройте этот файл с правами root:

Sudo nano /etc/apache2/sites-available/default-ssl.conf

После удаления комментариев файл выглядит следующим образом:

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars

Выглядит довольно сложно, но нам и не надо глубоко вникать в структуру этого файла. Для начала укажем обычные параметры, которые мы задаем при создании виртуального хоста (ServerAdmin, ServerName, ServerAlias, DocumentRoot и т.д.) и укажем место хранения SSL сертификатов. В итоге файл настройки должен выглядеть примерно следующим образом:

ServerAdmin [email protected] ServerName your_domain.com ServerAlias www.your_domain.com DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE " \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE " ssl-unclean-shutdown

Сохраните и закройте файл после исправления.

Шаг 4 - активация виртуального хоста с SSL

Теперь настало время включить наш виртуальный хост. Выполняем команду:

Sudo a2ensite default-ssl.conf

Перезапускаем Apache:

Sudo service apache2 restart

Теперь виртуальный хост, который будет служить для безопасной передачи данных, должен запуститься.

Шаг 5 - проверка

Итак, мы выполнили предварительную настройку, настало время проверить её. Заходим на наш сервер через протокол https://

Https://you_domain.com

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

Итак, нажимаем “Proceed anyway” (продолжить). Вы будете перенаправлены в корневой каталог вашего домена. Теперь ваш трафик зашифрован. Вы можете убедиться в этом увидев значок замка на панели меню.

Заключение

Ваш сайт теперь поддерживает SSL. Таким образом вы защищаете соединение между пользователями и вашим сайтом, но каждый раз пользователи будут видеть предупреждение о том, что сертификат невозможно проверить.

Если вы собираетесь запускать проект с использованием SSL, следует задуматься над приобретением SSL сертификата от удостоверяющего центра.

В июле 2015 года я перевел свой сайт на безопасный протокол HTTPS. Данная инструкция поможет вам без труда проделать тоже самое. Тем более, что постоянно витают слухе об отказе популярными браузерами незащищенного HTTP, в связи с чем, предвидится массовый переход на HTTPS.

Так же любой сайт на котором есть комментирование статей, форма подписки и окно поиска, можно формально подвести под закон о защите персональных данных, который требует использовать безопасные защищенные протоколы при передаче информации. Поэтому рано или поздно вам тоже придется столкнуться с необходимостью перевода сайта на HTTPS.

Как перевести сайт на HTTS

Пять простых шагов как перевести свой сайт на HTTPS

  1. Получение SSL сертификата
  2. Настройка веб-сервера
  3. Информирование поисковых систем

Где взять SSL сертификат для сайта

Сразу стоит определиться к какой категории относитесь вы и ваш сайт. Если вы выступаете как частное (физическое) лицо, то вам доступен лишь один вид сертификата: DV (Domain Validation). Он самый простой, выпуск его занимает минимальное время. Необходимо лишь подтвердить права владения доменным именем. Если вы представляете юридическое лицо, то вам доступны все типы сертификатов. Выбирайте любой в зависимости от потребностей вашего сайта. Но готовьтесь к тому, что проверка займет длительное время, а сам сертификат может дорого стоить.
Ранее я писал, . Этот вариант отлично подходит блогерам и владельцам персональных сайтов. Как получить такой бесплатный сертификат хорошо описано на Хабре в статье-инструкции Получаем бесплатный SSL сертификат .

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

Перед приобретением Ssl сертификата следует выяснить возможность его использования у себя на хостинге. Если у вас виртуальный хостинг, то настроить использование HTTPS может только поставщик услуг хостинга. Заранее выясните у него такую возможность. Если у вас сервер, не важно виртуальный или выделенный, то сертификат SSL гарантированно можно установить или использовать.

Помните, что сертификат вы получаете на домен (доменное имя), а устанавливать его надо на сервер (веб-сервер).

Установка зависит от вебсервера. Apache и NGINX настраиваются по разному. Вот неплохая инструкция как все сделать своими руками Ручная установка SSL сертификата .
Но если вы на хостинге используете панель управления VestaCP , то все заметно упрощается. Эта панель позволяет установить сертификат для вашего домена прямо из веб-интерфейса.

Предполагаю, что подобная возможность есть и в других панелях управления.

Настройка сайта, отказ от HTTP ссылок

Настройками сайта нужно добиться того, чтобы замочек защищенного соединения всегда был закрытым на всех страницах вашего сайта.


Вполне возможно, что обратившись к своему сайту в первый раз по HTTPS протоколу вы увидите такую картину:


Как видите замочек открыт, а это значит, что посетитель получает часть информации в незащищенном виде. Если щелкнуть мышкой по раскрытому замку, то можно увидеть примерно следующее:

Что нужно сделать, чтобы устранить проблему открытого замка HTTPS:

  • Исправить все внутренние ссылки на использование протокола HTTPS
  • Если используете картинки с внешних ресурсов, которые не работают по HTTPS, то скопируйте изображения себе на сайт
  • Отказаться от внешних сервисов и систем которые не работают по HTTPS
  • Убрать все плагины которые работают только по HTTP

Как исправить все ссылки на сайте

Для начала следует принять за правило использовать все ссылки без указания протокола. Это решение я подсмотрел в коде вызова скрипта Google.Adsense. Если раньше ваши ссылки выглядели так http://domainname.tld/page1.htm , то теперь они должны выглядеть так //domainname.tld/page1.htm . Ссылки такого рода будут работать и по HTTP и по HTTPS.
Если ваш сайт использует для хранения данных MySQL, а таких большинство. То проще всего сделать дамп базы. Скачать его себе на компьютер. Так как дамп базы данных MySQL представляет собой обыкновенный текстовый файл, то можно с помощью обычного текстового редактора произвести замену внутренних адресов на вариант описанный выше. После чего дамп базы данных нужно залить на сервер обратно.
Также можно поступить и с внешними ссылками. Но только не ставьте принудительно протокол HTTPS, так как нет никакой гарантии, что внешний ресурс его поддерживает.

Картинки с внешних ресурсов

Часто вебмастера при публикации постов используют изображения с других сайтов. Возьмите за правило копировать их к себе на сайт. Вполне возможно, что внешний ресурс откуда вы скачиваете картинки для оформления своей статьи работает только по HTTP.

Внешние сервисы которые не поддерживают HTTPS

Мне пришлось отказаться от двух рекламных сетей из-за того, что они не поддерживают протокол HTTPS. Пользователи посещая мой сайт могли видеть рекламные баннеры которые подгружались по HTTP и раскрытый замок сообщал о незашифрованном трафике.

Плагины работающие по HTTP

На моем сайте оказалось два плагина которые никак не хотели работать по безопасному протоколу HTTPS. Пришлось от них отказаться. Кроме того я проверил весь HTML код сайта на предмет загрузки скриптов и прочего с внешних ресурсов. Многие на автомате заработали по безопасному протоколу. Так же вычистил кучу мусора и неиспользуемого кода.

После проведения всех вышеописанных процедур сайт полноценно заработал по протоколу HTTPS, и замок безопасности оставался закрытым при посещении всех страниц.

Настройка веб-сервера на использование HTTPS

Для поисковых систем сайты доступные по разным протоколам http://domainname.tld и https://domainname.tld — это совершенно разные сайты. Поэтому необходимо поисковому роботу указать, кто тут главный. Для это в файле robots.txt необходимо написать название сайта с явным указанием протокола:

Host: https://domainname.tld

Затем необходимо настроить принудительную переадресацию всех запросов на протокол HTTPS. Чтобы пользователь который набрал http://domainname.tld все равно попал на безопасную версию сайта https://domainname.tld .
Если вы используете вебсервер Apache, то можно поступить следующим образом, добавьте в файл .htaccess нижеследующий код:

RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Информирование поисковых систем об использовании протокола HTTPS

В панели для вебмастеров поисковых систем Яндекс и Google необходимо добавить и подтвердить новый сайт, указав версию https.

Когда вы запускаете ваш собственный веб-сайт, ваши пользователи скорее всего должны будут оставлять там личную информацию. Это означает, что вам необходимо обеспечить соблюдение надежных стандартов безопасности, для обеспечения которой важную роль играют как Secure Sockets Layer (SSL или TLS) , так и Hypertext Transfer Protocol Secure (HTTPS) . К счастью, настройка на платформе WordPress SSL сертификата и установка HTTPS довольно проста и может быть выполнена всего за несколько шагов.

В этой статье мы поговорим о следующем:

  1. Какой сертификат SSL и когда нужно использовать.
  2. Что такое HTTPS и как он работает вместе с SSL.
  3. Как использовать WordPress SSL и настроить HTTPS с помощью двух разных методов.
  4. Две распространенные ошибки, с которыми вы можете столкнуться при использовании на WordPress SSL, и способы их устранения.

Нам предстоит узнать многое и будет ещё над чем поработать, так что, давайте уже приступим!

Secure Sockets Layer (SSL) - это технология, которая создаёт безопасное соединение между веб-сайтом и браузером. Сайты, использующие SSL, показывают, что ваша личная информация находится в безопасности во время каждого перехода.

Вы можете увидеть, безопасный сайт или нет, по изображению зелёного замочка, который многие браузеры используют для идентификации:

Например, если вы покупаете что-то в интернете, вы должны делать это только через сайты, использующие SSL. В противном случае злоумышленники могут узнать, использовать или изменить вашу платёжную информацию, поскольку она отправляется через интернет.

Что касается вашего собственного сайта, установка SSL сертификата является обязательной. Для этого есть :

  • Если вы запустите веб-сайт, на котором вы предлагаете пользователям регистрироваться и делиться конфиденциальной информацией, их данные будут в безопасности.
  • Ваш сайт будет более надежным.
  • Прикольный зелёный замочек появится рядом с адресом сайта в разных браузерах.
  • Вы улучшите поисковую оптимизацию вашего сайта (SEO) (англ).

Уточним последний момент – поисковые системы, такие как , предоставляя предпочтение безопасным сайтам в своей выдаче. Это означает, что вы можете защитить информацию своих пользователей и, возможно, извлечь выгоду из некоторого количества трафика одновременно.

Кроме того, Google объявил о том, что с момента появления в июле 2018 года Chrome показывает предупреждение “небезопасно”. Поэтому самое время обеспечить безопасность вашего сайта с помощью установки SSL сертификата, если вы ещё этого не сделали.

В наши дни установка SSL сертификата на WordPress довольно проста. Существует несколько типов сертификатов SSL, но вам, вероятно, не понадобится ничего особенного, если вы не будете запускать слишком сложный сайт или продавать товары в интернете.

Для всех других типов сайтов бесплатный сертификат обычно выполняет всю работу. Более того, вы можете легко настроить его для работы с Hostinger (англ).

Что такое HTTPS (и как это работает вместе с SSL)

Когда вам нужна установка SSL сертификата для вашего сайта, вам также необходимо настроить его для передачи данных с использованием протокола HTTPS. Каждый посещаемый вами сайт использует HTTP или HTTPS в качестве префикса к URL-адресу, включая Hostinger:

HTTPS работает так же, как HTTP, но обеспечивает более высокие стандарты безопасности. Если вы загружаете веб-сайт с HTTPS, вы узнаёте, что ваши данные находятся в безопасности во время передачи. Однако для того, чтобы HTTPS работал, сайт, к которому вы пытаетесь получить доступ, нуждается в сертификате SSL.

Если вы попытаетесь получить доступ к сайту без SSL с помощью HTTPS, вы увидите ошибку, подобную этой:

Другими словами, SSL и HTTPS работают рука об руку. Если вы используете только один, пользователи, отправляющие информацию через ваш сайт, не будут защищены.

Таким образом, ваш первый шаг должен состоять в том, чтобы получить сертификат SSL и настроить его для работы с вашим сайтом. После этого вам нужно указать в WordPress, что нужно использовать HTTPS вместо HTTP. Давайте посмотрим, как работает этот процесс.

Как настроить на WordPress SSL и HTTPS (2 метода)

На этом этапе мы предположим, что у вас уже есть сертификат SSL, настроенный для вашего сайта. Как только вы это сделали, вам просто нужно указать в WordPress, что нужно использовать HTTPS. Есть два основных способа сделать это.

1. Используйте панель инструментов WordPress и переадресацию 301

После установки WordPress SSL вам необходимо настроить свой сайт для использования HTTPS. Этот процесс прост, если вы запускаете новый веб-сайт. Однако, если вы добавляете SSL сертификат на сайт, который уже использовался какое-то время, это будет немного сложнее.

В любом случае, ваш первый шаг должен состоять в том, чтобы зайти в панель управления и открыть вкладку Настройки> Общие . Внутри вы найдете два поля, которые называются WordPress Address (URL) и Site Address (URL) . Адрес вашего сайта должен быть идентичным в обоих полях, и должен использовать HTTP.

Что вам нужно сделать, это заменить префикс HTTP на HTTPS в обоих полях и сохранить изменения в ваших настройках:

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

Как только вы подключитесь к своему сайту через FTP, перейдите в папку public_html и найдите файл .htaccess внутри:

Выберите этот файл и щёлкните на него правой кнопкой мыши, затем выберите параметр Просмотр / редактирование . Это откроет файл с локальным текстовым редактором, позволяющим внести в него изменения. Не изменяйте какой-либо код внутри .htaccess , если вы не знаете, что делаете. Просто перейдите в нижнюю часть файла и вставьте следующий фрагмент:

Для этого вам нужно будет заменить URL-адрес в этом коде на полный HTTPS-адрес вашего сайта. Это перенаправит любое соединение, которое приходит через port 80 , на новый безопасный URL. Как вы знаете, port 80 является стандартным для HTTP-соединений, поэтому он “перехватит” практически всех, кто пытается получить доступ к вашему веб-сайту через старый адрес.

После добавления кода с URL-адресом сохраните изменения в .htaccess и закройте файл. FileZilla спросит, хотите ли вы загрузить эти изменения на свой сервер, на что вы согласитесь. Если вы попробуете посетить свой сайт с использованием URL-адреса HTTP, ваш браузер должен автоматически перенаправить вас на версию HTTPS.

2. Установите плагин для WordPress SSL

Если вы предпочитаете не вводить данные вручную через WordPress, есть более простые способы настроить HTTPS на вашем веб-сайте. Например, вы можете настроить плагин для WordPress SSL, который добавляет тот же код, о котором мы рассказали в предыдущем методе.

Хотя этот подход намного проще, он также имеет некоторый дополнительный риск. Например, если проблемы совместимости возникают с другим инструментом, плагин SSL может перестать работать, и сайт не будет загружать HTTPS до тех пор, пока вы не устраните проблему. Это означает, что вам необходимо тщательно выбирать свой плагин.

Две распространённые ошибки в WordPress SSL (и как их исправить)

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

1. Некоторые файлы не загружаются через HTTPS

После включения HTTPS для вашего сайта вы можете обнаружить, что некоторые его файлы, например изображения, загружаются неправильно. Это потому, что WordPress по-прежнему использует HTTP для них вместо HTTPS.

Если у вас возникла проблема с изображениями вашего сайта, CSS или JavaScript, самый простой способ решить её – сделать несколько дополнений к вашему файлу .htaccess . Однако этот подход применяется только в том случае, если вы использовали ручной метод из предыдущего раздела. Мы поговорим о том, что делать, если вы используете плагин вместо этого чуть позже.

Перейдите на свой веб-сайт через FTP ещё раз и найдите файл .htaccess в каталоге public_html . Откройте его и найдите ранее добавленный код, чтобы установить переадресацию 301. Это должно выглядеть следующим образом:

RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.yoursite.com/$1 }

Вам нужно будет удалить этот фрагмент и заменить его на более полный. Это не обязательно в большинстве случаев, поскольку не так часто возникают проблемы с некоторыми ресурсами, которые не загружаются должным образом. Однако, если у вас возникла такая проблема, вот код, который вы должны использовать вместо предыдущего:

RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

Этот код перенаправит весь трафик через HTTPS. Он также включает в себя правила для ваших файлов в WordPress, поэтому такой код позаботится обо всех файлах, которые работали некорректно. После его добавления сохраните изменения в файле .htaccess и загрузите их обратно на сервер.

Если вы настроили свой сайт для использования HTTPS через плагин, вам не нужно вручную настраивать файл .htaccess . Вместо этого большинство плагинов предложит альтернативное решение. Например, Really Simple SSL может находить на вашем сайте файлы, которые не загружаются через HTTPS, и помогать вам их исправить. Чтобы использовать эту функцию, перейдите во вкладку «Настройки»> «SSL» , а затем перейдите на страницу настроек плагина:

В верхней части экрана есть параметр Автозамена смешанного содержимого . Убедитесь, что он включён, а затем сохраните изменения в конфигурации плагина. Этот параметр гарантирует, что WordPress загрузит все объекты через HTTPS, а не только ваши посты и страницы.

2. Ваш плагин для кэширования WordPress вызывает проблемы

Если у вас установлен плагин для кеширования WordPress, ваш браузер может попытаться загрузить кешированную версию вашего веб-сайта по HTTP, что может привести к некоторым ошибкам. Самый быстрый способ решить эту проблему – очистить кеш в WordPress.

Как будет происходить процесс кэширования зависит от того, какой плагин вы используете. Тем не менее, это не займет у вас больше нескольких минут. Для получения более подробной информации вы можете ознакомиться с нашим в WP Super Cache (англ), W3 Total Cache (англ) и WP Fastest Cache (англ). Если вы используете другой плагин для кеширования, вам может потребоваться заглянуть в справку для получения инструкций о том, как действовать.

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

Вывод

Раньше WordPress SSL сертификаты были зарезервированы только для деловых веб-сайтов, которые сталкивались с большим количеством конфиденциальной информации. В наши дни сертификаты SSL и HTTPS стали обычным явлением. Фактически, сами поисковые системы, такие как Google, рекомендуют их использовать. К счастью, как вы видите, установка SSL сертификата и использование HTTPS для вашего сайта в WordPress – довольно простая задача.

У вас есть вопросы о том, как использовать WordPress SSL и настроить HTTPS? Давайте поговорим о них в разделе комментариев ниже!