Как установить SSL и принудительно включить HTTPS на сайте
Зачем нужен SSL и HTTPS
С июля 2018 года Google Chrome помечает сайты без HTTPS как «Не защищённые». HTTPS шифрует трафик между браузером посетителя и сервером, повышает доверие пользователей и является условием для ряда современных возможностей браузера. Даже если главная мотивация — SEO, реальная польза — защита посетителей от перехвата данных и целый набор функциональных преимуществ.
Кратко:
- HTTPS шифрует данные и защищает от сниффинга.
- HTTPS нужен для браузерных API (геолокация, Service Worker и т. п.).
- Современный браузер явным сообщением снижает доверие к сайту без SSL.
Important: Если после «успешной» установки сертификата Chrome всё ещё показывает «Не защищён», переходите к разделу «Устранение проблем» в конце статьи.
Шаг 1: Получите SSL-сертификат
Прежде чем покупать сертификат, проверьте, что предлагает ваш хостинг. Многие провайдеры включают бесплатную интеграцию с Let’s Encrypt или собственной системой управления сертификатами. Если у хостера уже есть бесплатная интеграция — не покупайте сертификат отдельно.
Варианты сертификатов:
- Бесплатный сертификат от текущего хоста.
- Бесплатный сертификат от Let’s Encrypt, Cloudflare и т. п.
- Платный сертификат от DigiCert, Namecheap, GoDaddy и т. п.
Платные сервисы обычно дают дополнительные гарантии и упрощённую поддержку, платные и бесплатные варианты предоставляют одинаковое шифрование для обычных сайтов.
Когда вы оформляете сертификат, в панели управления вы увидите минимум два блока зашифрованного текста: сам сертификат (Certificate) и приватный ключ (Private Key). Скопируйте оба блока и сохраните в безопасном месте. При необходимости может потребоваться CA bundle (цепочка сертификатов).

ALT: Скриншот текстовых блоков сертификата и приватного ключа в панели управления
Примечание о wildcard: если у вас есть ресурсы на поддоменах (cdn.yoursite.com, images.yoursite.com), рассмотрите wildcard-сертификат (*.yoursite.com) — он покрывает все поддомены.
Шаг 2: Установите SSL-сертификат на сервер
Если ваш хост использует cPanel, найдите раздел «SSL/TLS Manager» (в русской локализации может быть «SSL/TLS» или «Управление SSL»). В интерфейсе выберите установку для нужного домена и вставьте SSL, приватный ключ и, при необходимости, цепочку CA.

ALT: Панель управления cPanel с меню SSL/TLS Manager
Важно: у многих хостеров при shared-хостинге нет выделенного IP по умолчанию. Это не проблема: современный механизм SNI (Server Name Indication) позволяет размещать несколько сертификатов на одном IP. Уточните у хостера, поддерживает ли он SNI.
Если сервер требует выделенный IP, в личном кабинете тарифа вы увидите привязанный IP-адрес.

ALT: Экран панели хостинга с информацией о выделенном IP-адресе аккаунта
После сохранения сертификата очистите кэш на сервере и в CMS (например, кеш WordPress), а также локальный кэш браузера (Windows: Ctrl+F5; macOS: Cmd+Shift+R). Затем зайдите на сайт по адресу https://вашсайт и убедитесь, что в адресной строке отображается «Защищено» (Secure).

ALT: Адресная строка браузера с замком и надписью «Защищено» у HTTPS-сайта
Если всё работает — поздравляем. Но сайт ещё не полностью защищён, если вы не заставите все обращения идти по HTTPS.
Принудительное перенаправление HTTP на HTTPS
Некоторые хостеры дают переключатель в панели для принудительного задания HTTPS и для переписывания внешних ссылок. Например, в SiteGround есть интеграция Let’s Encrypt с настройками HTTPS, где можно включить «HTTPS Enforce» и «External Links Rewrite».
- HTTPS Enforce — перенаправляет HTTP-запросы на HTTPS.
- External Links Rewrite — переписывает внешние ссылки вида http:// на https://, чтобы избежать предупреждений о смешанном контенте.

ALT: Настройки HTTPS в панели хостинга с опциями принудительного перенаправления и переписывания внешних ссылок
Если у хостера нет автоматического переключателя, используйте правку файла .htaccess в корне сайта (Apache). Добавьте следующие строки, заменив yoursitedomain.com на ваш домен:
RewriteCond %{HTTP_HOST} yoursitedomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yoursitedomain.com/$1 [R,L]Этот фрагмент будет перенаправлять все HTTP-запросы на HTTPS. Для Nginx используйте соответствующие директивы server и return 301 с проверкой порта/схемы.
Important: Убедитесь, что перенаправление выполняется только после установки сертификата, иначе вы получите ошибки при попытке установить HTTPS-соединение.
Распространённые проблемы и способы их решения
Проблема 1: Картинки из CDN не загружаются (смешанный контент)
Причина: изображения и другие ресурсы (скрипты, шрифты) загружаются по http:// с внешнего CDN, в то время как страница открыта по https://. Браузер блокирует небезопасные ресурсы.
Решения:
- Включите wildcard-сертификат для поддоменов CDN или установите отдельный сертификат для домена CDN.
- Настройте SSL на стороне CDN: вставьте сертификат и приватный ключ в панель управления CDN (если она это поддерживает).
- Замените URL ресурсов на протокол-независимые //example.com/asset.jpg или на https:// явно.
- Если используете сторонний CDN, переведите его на HTTPS (часто в настройках зоны есть опция HTTPS/SSL).

ALT: Панель управления CDN с настройками SSL для зоны
Если ваш CDN не поддерживает ваш сертификат — приобретите отдельный сертификат для CDN-домена и установите его через панель CDN.
Проблема 2: Страницы всё ещё помечаются как «Не защищён» несмотря на HTTPS
Причина: на страницах остались ресурсы, загружающиеся по HTTP (внешние скрипты, изображения, шрифты, iframe). Даже один небезопасный ресурс приводит к отображению предупреждения.
Проверка и исправление:
- Используйте инструменты разработчика (DevTools) в браузере → Console, Network, Security, чтобы найти смешанный контент.
- Поиск по коду (включая header/footer, виджеты, плагины) — замените http:// на https://.
- Если внешний сервис не поддерживает HTTPS, замените его аналогом, который поддерживает, либо размещайте ресурс локально.
- Очистите кеш сервера, CDN и браузера.

ALT: Консоль браузера с сообщением о блокировке смешанного контента (insecure resource)
Notes: Частые виновники — сторонние виджеты (графики, счётчики), изображения из старых постов, внешние HTTP-стили и шрифты Google/Typekit без HTTPS.
Альтернативные подходы к HTTPS
Полный переход через прокси/обратный прокси (Cloudflare):
- Cloudflare выступает посредником и обеспечивает HTTPS к пользователю. Сервер у вас всё ещё может принимать HTTP, но между Cloudflare и посетителем трафик будет зашифрован.
- Плюсы: простота, WAF, кеширование.
- Минусы: доверие третьей стороне, возможные дополнительные настройки, скрытие реального IP сервера.
Автоматизированные менеджеры сертификатов (ACME clients):
- ACME-клиенты (Certbot и другие) автоматически получают и обновляют сертификаты от Let’s Encrypt.
- Рекомендуется настроить автоматическое обновление (cron или systemd timer).
Универсальная политика HSTS (HTTP Strict Transport Security):
- После успешного перехода на HTTPS включите заголовок HSTS, чтобы заставить браузеры запоминать, что сайт доступен только по HTTPS.
- Внимание: HSTS нужно включать осторожно (особенно с параметром includeSubDomains/preload), так как ошибка конфигурации может сделать сайт недоступным.
Когда такой переход может не сработать (контрпримеры)
- Сайт использует устаревшие плагины или платформы, которые не умеют работать по HTTPS (например, плагины, жестко прописывающие http:// ресурсы).
- Внешний контент, который нельзя заменить или перенести локально, доступен только по HTTP.
- Если CDN не предоставляет SSL и не поддерживает пользовательские сертификаты, потребуется смена CDN.
В таких случаях рассмотрите миграцию на современную CMS/плагины или смену провайдеров сервисов.
Краткая методология перехода (шаблон шагов)
- Проверка текущей конфигурации у хостера (есть ли бесплатный SSL, поддерживает ли SNI).
- Получение сертификата (Let’s Encrypt или платный).
- Установка сертификата в панель управления (cPanel/ISPpanel/провайдер).
- Проверка HTTPS-доступа, очистка кэшей.
- Перенаправление HTTP → HTTPS (автоматически через панель хостинга или .htaccess/Nginx).
- Поиск и исправление смешанного контента (CDN, внешние ссылки, виджеты).
- Включение HSTS и дополнительных заголовков безопасности (по готовности).
- Мониторинг и тестирование (включая тесты на разных устройствах и браузерах).
Критерии приёмки
- Все страницы открываются по HTTPS без ошибок сертификата.
- В браузерной консоли отсутствуют ошибки смешанного контента.
- HTTP-запросы корректно перенаправляются на HTTPS (301/302 по настройке).
- Внешние ресурсы (CDN, API, виджеты) либо работают по HTTPS, либо заменены.
- Тесты доступа из разных сетей/устройств пройдены.
Роль‑ориентированные чеклисты
Для владельца сайта:
- Проверить у хостера наличие бесплатной интеграции Let’s Encrypt.
- Запланировать окно обслуживания для установки сертификата.
- Убедиться, что критичные внешние сервисы поддерживают HTTPS.
Для разработчика/администратора:
- Установить и проверить сертификат.
- Настроить автоматическое обновление сертификатов (ACME) или cron.
- Настроить и протестировать перенаправления (.htaccess/Nginx).
- Найти и устранить смешанный контент, скорректировать CDN.
Для SEO/маркетинга:
- Обновить canonical и внутренние ссылки на https://.
- Проверить карту сайта (sitemap.xml) и robots.txt.
- Обновить настройки в Google Search Console (добавить версию https://).
Примеры команд для проверки
- Проверка сертификата через openssl:
openssl s_client -connect yoursite.com:443 -showcerts- Проверка ответа сервера через curl:
curl -I https://yoursite.comЭти команды помогут увидеть цепочку сертификатов и заголовки ответа.
Устранение проблем — пошаговый инцидент-руководство
- Если браузер показывает «Не защищён»:
- Очистите браузерный кэш и кеш CDN.
- Проверьте срок действия сертификата и соответствие домена в сертификате.
- Убедитесь, что цепочка CA установлена и корректна.
- Если есть смешанный контент:
- Откройте DevTools → Console, найдите заблокированные ресурсы.
- Исправьте ссылки в шаблонах, виджетах и базе данных (массовая замена http:// → https://).
- Если изображения CDN не загружаются:
- Проверьте настройки SSL у CDN (загрузите сертификат/ключ, включите HTTPS для зоны).
- При необходимости настройте CORS и HSTS корректно для поддоменов.
- Если после всех действий сайт недоступен:
- Откатите изменения по очереди (удалите редирект, временно верните старый сертификат) и проверьте логи сервера.
Мини‑чек-лист тестов и критериев приёмки
- Сайт открывается по https:// и в адресной строке виден замок.
- При заходе по http:// выполняется перенаправление на https://.
- DevTools не показывает ошибок смешанного контента.
- Изображения и статические файлы из CDN загружаются по HTTPS.
- Sitemap и canonical указывают на https:// версии страниц.
- Google Search Console добавлена версия сайта с HTTPS.
Однострочный глоссарий
- SSL: протокол, обеспечивающий шифрование канала; сейчас чаще говорят TLS (современная реализация SSL).
- SNI: расширение TLS, позволяющее хранить несколько сертификатов на одном IP.
- Wildcard: сертификат, покрывающий все поддомены (*.example.com).
- HSTS: заголовок, требующий использования HTTPS браузером в дальнейшем.
Что дальше и лучшие практики
- Настройте автоматическое продление сертификатов (Let’s Encrypt + cron/systemd).
- Включите дополнительные заголовки безопасности: Content-Security-Policy, X-Frame-Options, X-Content-Type-Options.
- Регулярно проверяйте срок действия сертификатов и логируйте события TLS.
Fact box:
- Важная дата: с июля 2018 Chrome помечает HTTP-сайты как «Not secure».
- Короткая рекомендация: бесплатные сертификаты Let’s Encrypt подходят для большинства сайтов; платные полезны для расширенных гарантий и поддержки.
Important: Перед включением HSTS с includeSubDomains и preload делайте тесты на поддоменах — ошибка может привести к временной недоступности сайта у пользователей.
Социальная заметка (краткая версия для рассылки, 100–200 слов): Перевод сайта на HTTPS — обязательный шаг для современной веб‑безопасности и доверия пользователей. Получите сертификат у хостера или через Let’s Encrypt, установите его в панель управления, затем перенаправьте весь трафик на HTTPS и устраните смешанный контент (CDN, внешние ссылки). После этого проверьте сайт в браузерах, добавьте HTTPS‑версию в Google Search Console и настройте автоматическое обновление сертификатов. Это улучшит безопасность, SEO и совместимость с современными функциями браузеров.
Завершение: HTTPS — это не одноразовая задача, а процесс. Настройка сертификата, изменение ссылок и регулярный мониторинг обеспечат надёжную защиту посетителей и стабильную работу сайта.
Похожие материалы
OneNote как вики — полное руководство
Защита от мошенничества BEC — как предотвратить атаки
Как настроить графику NVIDIA: Control Panel и GeForce Experience
Скрытые запросы в Instagram — найти и управлять
Таблица в приложение: Glide за минуты