Гид по технологиям

Как правильно настроить SSL/HTTPS на сайте — полное руководство

9 min read Веб‑безопасность Обновлено 30 Dec 2025
Как настроить SSL/HTTPS на сайте — полное руководство
Как настроить SSL/HTTPS на сайте — полное руководство

Почему HTTPS важен

Настройка HTTPS: иллюстрация

С июля 2018 года браузер Google Chrome помечает сайты без SSL как «Not secure». HTTPS не только шифрует трафик, но и требуется для многих современных возможностей браузера и повышает доверие посетителей. Для бизнеса это ещё и защита конфиденциальных данных клиентов.

Ключевые причины включить HTTPS:

  • Защита данных пользователей от перехвата (шифрование).
  • Совместимость с новыми веб-API, которые требуют безопасного контекста.
  • Улучшение восприятия сайта посетителями и поиск пользователя.

Важно: даже после «успешной» установки сертификата браузер может продолжать показывать «Not secure» — это обычно связано с «mixed content» или неверной конфигурацией перенаправлений. Ниже подробный план действий и сценарии устранения ошибок.

Что такое сертификат SSL / TLS (в одно предложение)

SSL/TLS — цифровой сертификат, подтверждающий подлинность сайта и устанавливающий зашифрованное соединение между браузером и сервером.

Варианты получения сертификата

Перед покупкой узнайте у хостера, что он уже предоставляет — многие хостинги предлагают бесплатное SSL-решение.

Опции SSL-сертификатов

Типичные варианты:

  • Бесплатный SSL от хостинга (встроенный, автоматический).
  • Бесплатные сервисы: Let’s Encrypt (ACME), некоторые CDN (Cloudflare) предлагают HTTPS.
  • Платные сертификаты от DigiCert, Namecheap, GoDaddy и др. — дают расширенную валидацию, warranty и поддержку SAN/wildcard.

Отличия и примечания:

  • Бесплатные сертификаты часто нужно регулярно обновлять (Let’s Encrypt обычно на 90 дней). Это можно автоматизировать.
  • Wildcard (подстановочный) сертификат покрывает все поддомены (*.example.com). SAN (Subject Alternative Name) позволяет указать несколько отдельных доменов.
  • Если хост поддерживает автоматическое управление (cron или systemd timer), вручную возиться не придётся.

Шаг 1 — получите ваш сертификат

Когда вы заказываете сертификат, вы получите набор текстовых блоков: сертификат (CRT), приватный ключ (Private Key) и, возможно, цепочку доверия (CA bundle). Скопируйте их и сохраните в безопасном месте.

Текст сертификата и ключа

Совет: создайте отдельный защищённый документ или секретный хранилище (Vault, KMS) для хранения приватного ключа.

Шаг 2 — установка сертификата на хостинге

Различия по типу хостинга:

  • Дедикейтед IP: старые инструкции рекомендуют выделенный IP, но это не обязательно.
  • Shared hosting: благодаря SNI (Server Name Indication) можно устанавливать несколько сертификатов на один IP. Уточните у хостера поддержку SNI.

Если у вас cPanel, используйте SSL/TLS Manager.

SSL/TLS Manager cPanel

Выберите «Install» и укажите домен. Вставьте блоки сертификата и приватного ключа (и CA bundle, если есть).

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

После установки:

  1. Очистите кэши (сайт, CDN, браузер — Ctrl+F5).
  2. Попробуйте открыть сайт по https://вашдомен

Если вы используете VPS или свой сервер, установка может потребовать правки конфигурации Apache/Nginx. Примеры ниже.

Пример для Apache (виртуальный хост)


    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example_com.crt
    SSLCertificateKeyFile /etc/ssl/private/example_com.key
    SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt

    DocumentRoot /var/www/example.com/public_html
    # Дополнительные директивы

Пример для Nginx

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/ssl/certs/example_com.crt;
    ssl_certificate_key /etc/ssl/private/example_com.key;

    root /var/www/example.com/public_html;
    # Дополнительные директивы
}

Важно: после изменения конфигурации перезапустите веб-сервер и проверьте статус.

Принудительное перенаправление HTTP → HTTPS

Хосты часто предоставляют переключатель «Force HTTPS»; если он есть — включите. Если нет, добавьте правило в .htaccess (Apache) или конфигурацию Nginx.

Пример для Apache (.htaccess) — редирект на HTTPS с www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yoursitedomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yoursitedomain.com/$1 [R=301,L]

Пример для Nginx — глобальный редирект:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Совет SEO: используйте код ответа 301 для постоянного перенаправления.

Проблема 1 — изображения через CDN (mixed content)

Необезопасные изображения на сайте

Если ваши изображения доставляются по HTTP с CDN, браузер заблокирует их при загрузке страницы по HTTPS — итог: «сломанные» картинки и предупреждения о безопасности.

Решения:

  1. Использовать wildcard-сертификат для поддоменов CDN (например, cdn.example.com) или установить SSL-сертификат отдельно на CDN.
  2. Если CDN поддерживает загрузку сертификата (как в примере ниже с MaxCDN), вставьте туда тот же сертификат и приватный ключ.

Меню SSL в настройках CDN

Если CDN не поддерживает wildcard/пользовательский сертификат — купите отдельный сертификат для CDN-имён или используйте CDN с встроенным HTTPS.

Частые CDN-решения:

  • Cloudflare: предлагает универсальный HTTPS (включается в панели). Может работать как «Flexible», «Full» или «Full (strict)» — выбирайте «Full (strict)» при наличии валидного сертификата у origin-сервера.
  • StackPath/MaxCDN и другие: часто предлагают загрузку своего сертификата или автоматическое SSL.

Проблема 2 — небезопасные ссылки и ресурсы (mixed content)

Небезопасные сторонние ресурсы

Даже при корректно установленном SSL страница может показывать «Not secure», если некоторые ресурсы (скрипты, CSS, изображения, шрифты) загружаются по HTTP. Проверьте:

  • Header и footer — ссылки на внешние сервисы (Gravatar, Facebook, внешние скрипты).
  • Виджеты и iframe — возможно, подключены через http://
  • Статические ресурсы в базе данных WordPress (старые абсолютные URL в контенте).

Пошагово:

  1. Просканируйте сайт инструментами разработчика (Network / Console) — найдите «Mixed Content» ошибки.
  2. Исправьте ссылки в шаблонах (header.php, footer.php, sidebar.php): меняйте http:// на https:// или используйте протокол-независимые ссылки //example.com.
  3. Для WordPress: используйте wp-cli или плагины, чтобы массово заменить URL в базе данных.

Пример wp-cli (замена URL):

wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid

Важно: сначала сделайте бэкап базы данных.

Инструменты для поиска mixed content:

  • Встроенные средства разработчика в браузере (Console показывает предупреждения).
  • Онлайн-сканеры mixed content и SSL (Qualys SSL Labs для проверки конфигурации сервера).

Дополнительные настройки безопасности и оптимизации

  • HSTS (HTTP Strict Transport Security): заставляет браузер обращаться к сайту только через HTTPS. Осторожно: включать HSTS с опцией preload нужно только после уверенности, что сайт корректно работает по HTTPS и вы понимаете последствия.

Пример заголовка HSTS:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  • CSP (Content Security Policy): помогает предотвращать загрузку опасных ресурсов. CSP может быть настроена постепенно.
  • TLS настройки: отключите устаревшие протоколы (SSLv3, TLS 1.0) и слабые шифры; оставьте TLS 1.2 и 1.3.
  • OCSP Stapling: включите для более быстрой проверки статуса сертификата.

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

Автоматизация продления сертификатов

Для Let’s Encrypt и других ACME-сертификатов используйте certbot или аналогичные клиенты. Certbot можно запланировать на cron или systemd timer — тогда продление проходит автоматически и сертификаты обновляются каждые ~60–90 дней.

Пример команды certbot для автоматического получения и установки (nginx):

sudo certbot --nginx -d example.com -d www.example.com

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

Краткий план внедрения — чеклист (SOP)

  1. Проверить у хостера: есть ли бесплатное SSL, поддержка SNI, возможность управлять сертификатами.
  2. Выбрать тип сертификата: бесплатный (Let’s Encrypt) или платный (Wildcard/SAN при необходимости).
  3. Получить сертификат, сохранить CRT и Private Key в безопасное место.
  4. Установить сертификат в cPanel / панели хостера / вручную на сервер.
  5. Настроить редиректы HTTP → HTTPS (301).
  6. Исправить mixed content: CDN, внешний контент, старые ссылки в базе данных.
  7. Включить HSTS (после тестирования), настроить CSP и отключить старые TLS.
  8. Настроить автоматическое продление сертификатов (certbot + cron/systemd).
  9. Проверить сайт в браузере и использовать тесты (SSL Labs, браузерная консоль).
  10. Документировать процедуру и бэкапы.

Критерии приёмки

  • Сайт открывается по https:// и показывает «Secure» (замочек в браузере).
  • Все ресурсы (изображения, скрипты, стили) загружаются по HTTPS — нет Mixed Content ошибок в консоли.
  • HTTP автоматически перенаправляет на HTTPS с кодом 301.
  • Сертификат корректно настроен и валиден (проверено через SSL Labs или браузер).
  • Автоматическое продление настроено и тестировано.

Частые ошибки и как их исправить

  1. После установки сертификата браузер всё ещё показывает «Not secure» — проверьте mixed content и редиректы.
  2. Изображения с CDN не загружаются — установите SSL на CDN или используйте HTTPS-адреса для ресурсов.
  3. Ошибка цепочки сертификатов — проверьте CA bundle (chain file) и заполнение полей в панели.
  4. Бэкап приватного ключа потерян — придется выпускать новый сертификат и ключ.
  5. HSTS включён до проверки сайта — сайт может стать недоступен по HTTP; будьте осторожны с параметром preload.

Роли и ответственность (короткий чеклист для команд)

  • Владелец сайта / менеджер: принимает решение об охвате сертификатов (поддомены, SAN), утверждает бюджет.
  • Разработчик: исправляет шаблоны, заменяет абсолютные ссылки, тестирует UI/виджеты.
  • Сисадмин/инфраструктура: устанавливает сертификат на сервер/панель, настраивает редиректы и TLS параметры, автоматизирует продление.
  • SEO/маркетинг: проверяет редиректы и корректность canonical/robots, отслеживает индексацию после перехода на HTTPS.

Инструменты и полезные команды

  • certbot (Let’s Encrypt) — получение и автоматизация.
  • wp-cli — массовая замена URL в WordPress.
  • OpenSSL — проверка сертификатов (openssl s_client -connect example.com:443).
  • Qualys SSL Labs — подробный анализ конфигурации TLS.
  • Браузерные DevTools — поиск mixed content в Console.

Когда HTTPS может не подойти или дать проблемы

  • Внутренние тестовые окружения, доступные только по локальной сети, иногда используют self-signed сертификаты — в таком случае потребуется добавлять доверие вручную.
  • Очень старые устройства/браузеры могут не поддерживать современные TLS версии — это вопрос совместимости и бизнес-решений.

Короткая методология проверки после перехода

  1. Проверить наличие замочка и корректность домена в сертификате.
  2. Просканировать сайт на mixed content (DevTools + автоматические сканеры).
  3. Проверить редиректы и канонические URL (301, http → https).
  4. Тестировать форму отправки данных: данные должны отправляться по HTTPS.
  5. Проверить скорость загрузки и работу CDN.

Часто задаваемые вопросы

Какой сертификат лучше — платный или бесплатный?

Бесплатных сертификатов (Let’s Encrypt) достаточно для большинства сайтов. Платные сертификаты дают дополнительные услуги (расширенная валидация, гарантия, поддержка, удобство для некоторых CDN) и удобны для корпоративных требований.

Нужен ли выделенный IP для SSL?

Нет: благодаря SNI один IP может обслуживать несколько сертификатов. Выделенный IP не обязателен в большинстве современных хостингов.

Как часто нужно обновлять сертификат Let’s Encrypt?

Сертификаты Let’s Encrypt действуют 60–90 дней; автоматизация обновления с certbot решает эту задачу.

Итог и рекомендации

Защита посетителей и корректная работа сайта в современных браузерах требуют HTTPS. Начните с проверки возможностей хостинга, затем получите сертификат (рекомендуется Let’s Encrypt для большинства сайтов), установите его, включите перенаправления и устраните mixed content. Автоматизируйте продление и задокументируйте процедуру.

Important: перед включением HSTS и preload убедитесь, что все поддомены и сервисы корректно работают по HTTPS.

Завершающие шаги:

  • Сделайте бэкап конфигурации и базы данных перед массовыми заменами URL.
  • Тестируйте на staging перед продом.
  • Мониторьте срок действия сертификатов и настройки TLS регулярно.

URL с HTTPS и статус Secure

Спасибо — теперь ваш сайт защищён и готов к работе в современных браузерах.

Источник полезных инструментов: Certbot, Qualys SSL Labs, документация вашего хостинга и CDN.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Скачать приложения на Samsung Smart TV
Гайды

Скачать приложения на Samsung Smart TV

Как очистить ненужные файлы в Windows 10
Windows

Как очистить ненужные файлы в Windows 10

Как создать красивое боке — советы и настройки
Фотография

Как создать красивое боке — советы и настройки

Как создать блок‑схему в Excel — подробное руководство
Office

Как создать блок‑схему в Excel — подробное руководство

Как смотреть Олимпиаду 2024: лучшие стрим‑опции
Стриминг

Как смотреть Олимпиаду 2024: лучшие стрим‑опции

Управление Samsung Smart TV через Alexa
Умный дом

Управление Samsung Smart TV через Alexa