SSL-сертификат и HTTPS: зачем они нужны сайту
Посмотрите на адресную строку браузера. Почти у любого сайта, который вы открываете, слева от адреса виден значок замочка, а сам адрес начинается с https. Если же замочка нет, браузер может показать надпись «Не защищено», а при попытке ввести что-то в форму — даже предупреждение. Для посетителя это тревожный сигнал: что-то с этим сайтом не так. Многие начинающие владельцы сайтов считают, что защищённое соединение нужно только банкам и интернет-магазинам, а простому блогу оно ни к чему. Это заблуждение. Давайте разберёмся, что такое SSL-сертификат и HTTPS, почему они нужны каждому сайту и как подключить их без лишних проблем.
HTTP и HTTPS: в чём разница
Когда вы открываете сайт, ваш браузер и сервер обмениваются данными по определённым правилам — протоколу. Классический протокол HTTP передаёт всё открытым текстом. Это значит, что любой, кто находится «на пути» между вами и сервером, теоретически может прочитать или изменить эти данные. Таким промежуточным звеном может быть, например, общественная сеть Wi-Fi в кафе, недобросовестный провайдер или заражённый роутер.
HTTPS — это тот же HTTP, но с шифрованием. Данные перед отправкой зашифровываются, и прочитать их может только получатель. Даже если кто-то перехватит трафик, он увидит лишь бессмысленный набор символов.
Чтобы шифрование работало и чтобы браузер был уверен, что общается именно с вашим сайтом, а не с подделкой, нужен SSL-сертификат. Строго говоря, сейчас используется более современный протокол TLS, но по привычке все продолжают называть сертификаты SSL, и путаницы это не создаёт.
Что такое SSL-сертификат
Сертификат — это своего рода цифровой паспорт сайта. Его выдаёт специальная организация — удостоверяющий центр, которому доверяют браузеры. Сертификат подтверждает, что домен действительно принадлежит тому, кто его использует, и содержит ключ, необходимый для шифрования.
Когда посетитель открывает ваш сайт по HTTPS, происходит следующее:
- Браузер запрашивает у сервера сертификат.
- Сервер отправляет сертификат.
- Браузер проверяет, выдан ли он доверенным центром, не истёк ли срок действия и совпадает ли домен.
- Если всё в порядке, браузер и сервер договариваются о ключах шифрования и дальше общаются по защищённому каналу.
- В адресной строке появляется значок замка.
Всё это происходит за доли секунды и незаметно для пользователя.
Зачем HTTPS даже небольшому сайту
Аргумент «у меня нечего красть» не работает по нескольким причинам.
Доверие посетителей. Надпись «Не защищено» рядом с адресом отпугивает людей. Особенно если на сайте есть форма подписки, комментарии или форма обратной связи. Человек не станет оставлять свой адрес почты там, где браузер предупреждает об опасности.
Защита ваших собственных данных. Когда вы входите в админку сайта по незащищённому соединению, ваш логин и пароль передаются открытым текстом. В общественной сети их может перехватить кто угодно. Подробнее о том, как ещё защитить свой проект, рассказано в статье о безопасности сайта.
Защита от подмены содержимого. Без шифрования промежуточное звено может внедрить в вашу страницу чужую рекламу или вредоносный скрипт. Посетитель увидит это на вашем сайте и будет винить вас.
Поисковые системы. HTTPS давно является одним из сигналов ранжирования. Это не решающий фактор, но при прочих равных защищённый сайт получает небольшое преимущество. К тому же поисковики стараются не отправлять пользователей на сайты, которые браузер помечает как небезопасные.
Современные технологии. Многие функции браузеров, например определение местоположения или push-уведомления, работают только на защищённых сайтах. Более быстрые версии сетевых протоколов тоже на практике используются только вместе с HTTPS.
Требования партнёров. Рекламные сети, платёжные сервисы и партнёрские программы всё чаще требуют, чтобы сайт работал по защищённому протоколу. Если вы планируете зарабатывать на сайте, без HTTPS не обойтись — об этом подробнее в материале о требованиях рекламных сетей.
Если сайт создаётся с нуля, сразу запускайте его на HTTPS. Это гораздо проще, чем переводить уже работающий проект.
Какие бывают сертификаты
Сертификаты различаются по уровню проверки владельца и по количеству доменов, которые они защищают.
По уровню проверки
- С проверкой домена. Удостоверяющий центр проверяет только то, что вы управляете доменом. Выпускается автоматически за несколько минут. Шифрование обеспечивает такое же, как и более дорогие варианты. Идеально подходит для блогов, информационных сайтов и большинства небольших проектов.
- С проверкой организации. Дополнительно проверяется существование компании. В сертификате указывается её название. Подходит для коммерческих сайтов, которым важно подтвердить юридическое лицо.
- С расширенной проверкой. Самая тщательная проверка документов компании. Используется банками и крупными сервисами.
По охвату
- Для одного домена — защищает конкретный адрес.
- Wildcard — защищает домен и все его поддомены одного уровня.
- Мультидоменный — один сертификат для нескольких разных доменов.
Для большинства читателей этого сайта вполне хватит простого сертификата с проверкой домена.
Бесплатные и платные сертификаты
Существуют некоммерческие удостоверяющие центры, которые выдают бесплатные сертификаты с проверкой домена. Они признаются всеми браузерами и обеспечивают полноценное шифрование. Их особенность — короткий срок действия, поэтому продление должно происходить автоматически. Большинство хостинг-провайдеров умеют выпускать и продлевать такие сертификаты сами, достаточно нажать одну кнопку в панели управления.
Платные сертификаты имеют смысл, когда нужна проверка организации, расширенная проверка или особые условия, например финансовые гарантии от удостоверяющего центра. Стоимость зависит от типа сертификата и продавца, и для простого блога такие траты обычно не оправданы.
Перед выбором хостинга уточните, поддерживает ли он автоматический выпуск и продление бесплатных сертификатов. Это избавит от множества хлопот. О других критериях выбора — в статье о выборе хостинга.
Как подключить HTTPS: пошагово
Порядок действий для сайта, который уже работает по HTTP, выглядит примерно так:
- Сделайте резервную копию сайта: файлов и базы данных.
- Выпустите сертификат в панели управления хостингом или установите полученный у удостоверяющего центра.
- Проверьте, что сайт открывается по https. Пока не настраивайте перенаправления, просто убедитесь, что адрес с https работает.
- Измените адрес сайта в настройках CMS на версию с https.
- Исправьте внутренние ссылки в статьях, меню и настройках темы, чтобы они вели на https-адреса. Для популярных CMS есть плагины, которые помогают заменить адреса в базе данных.
- Настройте постоянное перенаправление со всех http-адресов на соответствующие https-адреса. Важно, чтобы каждая страница перенаправлялась на свою копию, а не все подряд на главную.
- Обновите карту сайта и проверьте файл robots.txt.
- Добавьте https-версию в панели вебмастера и следите за переиндексацией.
- Обновите адрес в счётчиках аналитики, рекламных сетях и партнёрских кабинетах.
После переезда в течение некоторого времени возможны небольшие колебания позиций, пока поисковик переклеивает старые адреса на новые. При правильно настроенных перенаправлениях они быстро проходят.
Смешанное содержимое и другие ошибки
Самая частая проблема после перехода — смешанное содержимое. Страница загружается по HTTPS, но некоторые элементы на ней — картинки, скрипты, шрифты, встроенные видео — по-прежнему запрашиваются по старому протоколу. В результате браузер может не показать замочек, заблокировать часть элементов или вывести предупреждение.
Как найти и исправить:
- откройте страницу и посмотрите консоль разработчика в браузере — там будут перечислены все незащищённые ресурсы;
- проверьте вставки в статьях: часто проблема в изображениях, вставленных со старыми адресами;
- проверьте настройки темы, виджеты и сторонние коды счётчиков;
- если внешний ресурс не поддерживает HTTPS, найдите ему замену или загрузите файл на свой сервер.
Другие распространённые ошибки:
- истёкший сертификат — если автоматическое продление не сработало, посетители увидят страшное предупреждение на весь экран; настройте напоминания;
- сертификат не на тот домен — например, выпущен для адреса с www, а сайт открывается без него;
- цепочки перенаправлений — когда страница перенаправляется несколько раз подряд, это замедляет загрузку;
- отсутствие перенаправления — сайт доступен и по http, и по https, и поисковик видит два одинаковых сайта.
Итог
SSL-сертификат и HTTPS — это не роскошь для крупных компаний, а базовая гигиена любого сайта. Они защищают данные посетителей и ваши собственные пароли, предотвращают подмену содержимого, повышают доверие людей и немного помогают в поиске. Для большинства проектов достаточно бесплатного сертификата с проверкой домена, который хостинг выпустит и будет продлевать автоматически. Если сайт ещё в планах, запускайте его сразу на HTTPS. Если уже работает — переведите его, аккуратно настроив перенаправления и избавившись от смешанного содержимого. Это пара часов работы, которая потом годами не требует внимания.