Полное руководство по SSL-сертификатам: выбор типа, установка на хостинг, настройка HTTPS, диагностика ошибок сертификата. Как избежать предупреждений браузера и проблем с индексацией.
Введение
Зелёный замочек в адресной строке — это минимум, которого ожидают пользователи. Если его нет, браузер показывает пугающее предупреждение «Соединение не защищено», и посетитель уходит, даже не увидев ваш контент. Поисковики понижают сайты без HTTPS в выдаче. Казалось бы, SSL-сертификат — базовая вещь, которую настраивают за 5 минут. Но практика показывает: с сертификатами постоянно возникают проблемы. То срок истёк, то цепочка сертификатов неполная, то смешанный контент. В этой статье — полное руководство по SSL: выбор, установка, диагностика и решение типичных ошибок.
Как выбрать SSL-сертификат
SSL-сертификаты бывают трёх уровней валидации. Первый: DV (Domain Validation) — проверка домена. Подтверждает, что вы контролируете домен. Самый быстрый и дешёвый. Подходит для блогов, визиток, небольших магазинов. Второй: OV (Organization Validation) — проверка организации. Подтверждает, что компания зарегистрирована и существует. Подходит для корпоративных сайтов и среднего бизнеса. Третий: EV (Extended Validation) — расширенная проверка. Раньше давал зелёную строку с названием компании, но браузеры постепенно отказываются от её отображения. По типам покрытия сертификаты делятся на: одиночные (один домен), мультидоменные (несколько доменов, SAN), Wildcard (основной домен и все поддомены). Для большинства сайтов оптимален бесплатный DV-сертификат от Lets Encrypt. Он автоматически обновляется, поддерживается всеми хостингами и даёт тот же уровень шифрования, что и платные сертификаты. Разница только в уровне проверки и дополнительных гарантиях для пользователя. О том, как перевести сайт на HTTPS без потери позиций, читайте в статье Переезд сайта на HTTPS: как не угробить позиции.
Установка SSL-сертификата
Установка зависит от хостинга. На shared-хостинге (TimeWeb, Beget, REG.RU) Lets Encrypt устанавливается одной кнопкой в панели управления. Зашли в раздел SSL, выбрали домен, нажали «Установить». На VPS с панелью ISPmanager или cPanel — аналогично, через интерфейс. На VPS без панели — через консоль: устанавливаем Certbot, запускаем certbot --nginx или certbot --apache, выбираем домен, подтверждаем. Сертификат устанавливается и прописывается в конфиг веб-сервера автоматически. После установки обязательно проверьте, что сайт открывается по HTTPS и редирект с HTTP работает (код 301). Проверьте цепочку сертификатов: сертификат домена, промежуточный сертификат, корневой сертификат — все должны присутствовать. Если цепочка неполная, некоторые браузеры и поисковые боты могут не доверять сертификату.
Типичные ошибки SSL и их решение
Ошибка первая: сертификат истёк. Lets Encrypt действителен 90 дней, потом требует обновления. На большинстве хостингов автообновление настроено из коробки, но иногда оно слетает. Симптом: браузер показывает ошибку, сайт недоступен по HTTPS. Решение: обновить сертификат вручную или настроить cron-задачу для автообновления. Ошибка вторая: неполная цепочка сертификатов. Установлен только сертификат домена, промежуточный отсутствует. Симптом: в браузере сайт открывается, но некоторые API и поисковые боты не могут проверить сертификат. Решение: скачать полную цепочку и установить вместе с сертификатом. Ошибка третья: сертификат не соответствует домену. Сертификат выпущен на domain.com, а сайт открывается по www.domain.com (или наоборот). Симптом: браузер показывает ошибку несовпадения имени. Решение: выпустить сертификат с покрытием обоих вариантов или настроить редирект на основной. Ошибка четвёртая: смешанный контент. Страница загружается по HTTPS, но содержит ресурсы (картинки, скрипты, стили) по HTTP. Симптом: замочек серый или перечёркнутый, в консоли браузера предупреждения Mixed Content. Решение: заменить все ссылки на HTTPS или относительные. Подробнее о поиске смешанного контента читайте в статье Как читать логи сервера для SEO-аудита. Ошибка пятая: SSL-сертификат блокируется файрволом. Некоторые корпоративные и государственные сети блокируют трафик на порт 443 для неизвестных сертификатов.
Мониторинг SSL-сертификата
Сертификат имеет свойство заканчиваться в самый неподходящий момент. Настройте мониторинг. Что мониторить. Первое: срок действия. Настройте уведомление за 30, 14 и 7 дней до истечения. Внешние сервисы мониторинга умеют это делать. Второе: валидность цепочки. Сервисы проверяют, что цепочка сертификатов полная и доверенная. Третье: доступность сайта по HTTPS. Простой uptime-мониторинг, проверяющий ответ на порту 443. Четвёртое: отсутствие смешанного контента. Периодически запускайте краулер, который проверяет, что все ресурсы загружаются по HTTPS. О настройке круглосуточного мониторинга читайте в статье Проверка доступности сайта 24/7.
SSL и SEO: что важно знать
Влияние SSL на SEO. Первое: HTTPS — официальный фактор ранжирования и в Яндексе, и в Google. Сайты без сертификата ранжируются хуже. Второе: предупреждения браузера убивают трафик. Пользователь видит ошибку и уходит, даже если сайт работает. Третье: Яндекс.Вебмастер проверяет SSL и сообщает о проблемах в разделе «Безопасность». Четвёртое: при переезде с HTTP на HTTPS важно настроить 301 редирект и склеить зеркала в Вебмастере. Пятое: сертификат должен быть доверенным. Самоподписанные сертификаты не подходят — они не признаются браузерами и поисковиками.
Часто задаваемые вопросы
Можно ли использовать бесплатный сертификат для интернет-магазина? Да. Lets Encrypt обеспечивает такой же уровень шифрования, как и платные сертификаты. Для приёма платежей достаточно. Но для повышения доверия пользователей можно использовать OV или EV сертификат с названием компании.
Что делать, если после установки SSL сайт перестал открываться? Проверьте конфигурацию веб-сервера. Возможно, сервер слушает только порт 80 (HTTP) и не настроен на 443 (HTTPS). Проверьте файрвол — порт 443 должен быть открыт. Проверьте, что сертификат и ключ указаны правильно в конфиге.
Как проверить, что SSL настроен правильно? Используйте онлайн-сервисы проверки SSL. Они покажут срок действия, цепочку сертификатов, поддерживаемые протоколы, оценку безопасности. Также проверьте в Яндекс.Вебмастере в разделе «Безопасность».
Нужен ли SSL для поддоменов? Да, если поддомен используется. Wildcard-сертификат покрывает основной домен и все поддомены. Если у вас отдельные сертификаты, для каждого поддомена нужен свой.
Влияет ли SSL на скорость загрузки сайта? Незначительно. Современные протоколы TLS 1.3 и HTTP/2 минимизируют задержки. Более того, HTTP/2 работает только с HTTPS и ускоряет загрузку за счёт мультиплексирования. Правильно настроенный HTTPS не замедляет сайт.