Сайт «Не защищено»: как исправить и перевести сайт на HTTPS
Браузер пишет «Подключение к сайту не защищено», а у адреса вместо замка — «Не защищено». Разберём, как это исправить, если вы зашли на чужой сайт и если сайт ваш. Что такое SSL-сертификат и какие они бывают, — в статье что такое SSL-сертификат и какой выбрать. Здесь — только диагностика и пошаговое исправление.
«Не защищено» и «Подключение не защищено»: это две разные проблемы
Браузеры показывают два вида предупреждений, и лечатся они по-разному.
- Надпись «Не защищено» в адресной строке, но страница открывается. Сайт работает по обычному HTTP без сертификата либо открыт по HTTPS, но подгружает часть файлов по HTTP (смешанный контент). Данные из форм уходят открытым текстом.
- Полноэкранная заглушка: в Chrome и Яндекс Браузере — «Подключение не защищено» с кодом вида NET::ERR_CERT_…, в Firefox — «Предупреждение: вероятная угроза безопасности», в Safari — «Это соединение не является защищённым». Здесь HTTPS есть, но браузер не доверяет сертификату: истёк, выдан на другой домен, неполная цепочка или неизвестный издатель.
Если вы посетитель: почему браузер пишет «Подключение не защищено» и что делать
Когда ошибка появляется на многих сайтах сразу, в том числе на крупных (поисковики, банки, маркетплейсы), виноват не сайт, а устройство или сеть. Проверьте по порядку:
- Дата и время на устройстве. Браузер сверяет текущую дату со сроком действия сертификата. Если часы сбились, все сертификаты выглядят «ещё не действующими» или просроченными. Включите автосинхронизацию времени.
- Антивирус с проверкой HTTPS. Часть антивирусов подменяет сертификаты сайтов своими, чтобы сканировать трафик. Если их корневой сертификат устарел, браузер видит подмену. Обновите антивирус или отключите в нём проверку защищённых соединений.
- Публичный Wi-Fi. В кафе, отеле или метро сеть перехватывает первый запрос, чтобы показать страницу авторизации, — отсюда ошибка сертификата. Пройдите авторизацию или переключитесь на мобильный интернет; в подозрительной сети не вводите пароли и данные карт.
- Прокси, VPN и расширения тоже вклиниваются в соединение — проверьте сайт в инкогнито без них.
- Устаревшая система. На старых Android, Windows 7 и древних браузерах нет актуальных корневых сертификатов. Обновите систему и браузер или поставьте свежий Firefox — у него своё хранилище сертификатов.
Если не открываются только госсервисы и отдельные банки, скорее всего, они работают на сертификате НУЦ Минцифры, которому Chrome, Firefox и Safari не доверяют. Такие сайты открываются в Яндекс Браузере. Никогда не ставьте «сертификаты безопасности», которые предлагает скачать сам сайт или всплывающее окно.
Обойти предупреждение можно через «Дополнительно» → «Перейти на сайт (небезопасно)» — только если вы уверены в ресурсе и не вводите личные данные. Если сайт включил HSTS, кнопки обхода не будет — это защита, а не поломка.
Если сайт ваш: диагностика по тексту ошибки
Откройте сайт в режиме инкогнито, нажмите на значок слева от адреса и откройте сведения о сертификате: браузер покажет, кем и на какие домены он выдан и до какой даты действует. Дальше — по таблице.
| Что видит посетитель | Причина | Как исправить |
|---|---|---|
| «Не защищено» у адреса, сайт открывается по http:// | HTTPS не настроен вообще | Выпустить сертификат (подойдёт бесплатный Let's Encrypt), включить 301-редирект на https |
| NET::ERR_CERT_DATE_INVALID, «срок действия сертификата истёк» | Не сработало продление | Перевыпустить сертификат, починить автопродление, поставить мониторинг срока |
| NET::ERR_CERT_COMMON_NAME_INVALID, «сертификат выдан для другого сайта» | Сертификат выпущен без www (или без поддомена), либо сайт открывается чужим сертификатом хостинга | Перевыпустить сертификат на все варианты адреса, проверить привязку сертификата к нужному сайту в панели |
| NET::ERR_CERT_AUTHORITY_INVALID на части устройств, чаще на телефонах | Неполная цепочка: установлен только сертификат сайта без промежуточного | Установить полную цепочку (fullchain), проверить в SSL Labs |
| NET::ERR_CERT_AUTHORITY_INVALID у всех | Самоподписанный сертификат или сертификат, которому браузеры не доверяют | Заменить на сертификат общепризнанного удостоверяющего центра |
| Замок перечёркнут или «Не защищено» на https-странице | Смешанный контент: картинки, скрипты, шрифты по http:// | Заменить ссылки на https в шаблонах, базе и настройках CMS |
Самая частая причина — истёкший сертификат после смены хостинга или подрядчика: на новом месте продление никто не настроил.
Как установить SSL-сертификат на хостинге и в панели управления
Общее условие для всех вариантов: домен уже направлен на этот хостинг или сервер (A-запись или NS-серверы хостинга), иначе удостоверяющий центр не сможет проверить, что вы им управляете.
Виртуальный хостинг: Beget, Timeweb, REG.RU и другие
У крупных российских хостеров бесплатный Let's Encrypt выпускается в панели, в разделе «SSL-сертификаты» или в настройках домена: выбираете домен, отмечаете вариант с www, нажимаете «Установить» — через несколько минут HTTPS работает, продление хостинг делает сам. Если домен обслуживают не DNS-серверы хостинга, проверку владения иногда проходят вручную через TXT-запись.
Сервер с ispmanager или FastPanel
В ispmanager сертификат выпускается в разделе «SSL-сертификаты» → «Let's Encrypt», в FastPanel — в карточке сайта на вкладке SSL. Отметьте все алиасы (www и поддомены), проверьте привязку сертификата к сайту и включите перенаправление на HTTPS. Автопродление работает из коробки, пока домен указывает на сервер и порт 80 открыт.
VPS с Nginx без панели
На своём сервере сертификат выпускает certbot. Базовые команды установки и проверки автопродления мы приводили в статье про SSL-сертификаты, повторять их не будем. Часто упускают редирект за один шаг с трёх остальных вариантов адреса (http с www и без, https с www) на итоговый:
server {
listen 80;
server_name example.ru www.example.ru;
return 301 https://example.ru$request_uri;
}
server {
listen 443 ssl;
server_name www.example.ru;
ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
return 301 https://example.ru$request_uri;
}
Основной блок server для https://example.ru остаётся с вашей текущей конфигурацией; HTTP/2 в Nginx 1.25.1 и новее включается отдельной директивой http2 on;, а не параметром в listen. Приложению за Nginx (Node.js, Docker) передайте заголовок X-Forwarded-Proto, иначе CMS решит, что запрос пришёл по HTTP, и зациклит редирект. Если на сервере несколько сайтов и приложений, настройка Nginx с SSL и автопродлением у подрядчика стоит от 6 000 ₽ — итог зависит от числа доменов и состояния конфига.
Как перевести сайт на HTTPS в 1С-Битрикс и WordPress
CMS должна знать, что её адрес начинается с https://, иначе она продолжит генерировать http-ссылки, canonical и карту сайта.
1С-Битрикс
- «Настройки» → «Настройки продукта» → «Сайты» → «Список сайтов» → ваш сайт: проверьте поле «URL сервера» — домен без протокола в том варианте (с www или без), который станет главным.
- «Настройки модулей» → «Главный модуль»: то же в поле «URL сайта» — оно используется в письмах, RSS и ссылках компонентов.
- Модуль SEO → «Карта сайта»: в настройках генерации включите протокол HTTPS и пересоздайте sitemap.xml. Обновите ссылку на карту сайта в robots.txt.
- Замените захардкоженные http-ссылки в шаблоне, включаемых областях и текстах инфоблоков (в текстах — SQL-запросом после резервной копии).
- На BitrixVM или за прокси убедитесь, что PHP видит HTTPS (
$_SERVER['HTTPS']), иначе будут циклические редиректы.
WordPress
- «Настройки» → «Общие»: поменяйте «Адрес WordPress (URL)» и «Адрес сайта (URL)» на https. Если поля заблокированы, адреса заданы константами
WP_HOMEиWP_SITEURLв wp-config.php — правьте там. Начиная с WordPress 5.7 то же делает кнопка перехода на HTTPS в «Здоровье сайта». - Замените старые адреса в базе через WP-CLI: сначала пробный прогон
wp search-replace 'http://example.ru' 'https://example.ru' --skip-columns=guid --dry-run, затем та же команда без--dry-run. WP-CLI корректно обрабатывает сериализованные данные темы и виджетов — ручная замена через SQL их ломает. - Если доступа к WP-CLI нет, подойдёт плагин поиска и замены по базе или плагин для HTTPS вроде Really Simple Security. Исправление смешанного контента «на лету» — временная мера: плагин подменяет ссылки при каждой загрузке страницы вместо разовой правки базы.
- Сбросьте кэш плагина и CDN, иначе посетители ещё долго будут получать страницы с http-ссылками.
Смешанный контент: как найти и убрать
Смешанный контент — главная причина, почему после установки сертификата замок так и не появился. Браузер блокирует скрипты и стили, загружаемые по HTTP, — отваливаются формы, счётчики, вёрстка. Картинки и видео браузер пытается загрузить по https сам, а если не выходит — блокирует.
- Где искать: F12 → «Консоль», сообщения Mixed Content с адресом файла.
- Типовые источники: картинки в текстах статей и товаров, шрифты и библиотеки в шаблоне, старые коды виджетов и карт, фоны в CSS.
- Как исправлять: внутренние ссылки делайте относительными (
/images/logo.png) или меняйте на https; внешний ресурс без HTTPS замените или положите файл к себе. - Страховка: заголовок
Content-Security-Policy: upgrade-insecure-requestsзаставляет браузер запрашивать ресурсы по https — это закрывает хвосты, но не заменяет исправление ссылок.
Переезд на HTTPS без потери позиций: 301, canonical и Вебмастер
Для поисковиков http:// и https://, с www и без — четыре разных адреса одного сайта. По справке Яндекса, при правильном переезде трафик не теряется, а ИКС переносится на новый адрес. Порядок такой:
- Сертификат и доступность. Все страницы открываются по https без ошибок; сертификат проверен в Вебмастере на странице «Проверка ответа сервера».
- Внутренние ссылки. http → https в ссылках на страницы и файлы, в sitemap.xml, ссылке на карту в robots.txt и hreflang.
- Canonical и микроразметка указывают на https-адреса. Частая ошибка — сайт открыт по https, а canonical ведёт на http.
- 301-редирект постранично: каждая http-страница ведёт на такую же https-страницу, а не на главную (по справке Яндекса, редирект на главную замедляет индексацию), в один шаг, без цепочек http → https → www.
- Яндекс Вебмастер. Добавьте https-версию как отдельный сайт и подтвердите права. Затем в старом сайте откройте «Индексирование» → «Переезд сайта», включите опцию «Добавить HTTPS» и сохраните. Смена главного адреса может занять несколько недель. Регион сайта после переезда задайте заново.
- Google Search Console. Инструмент «Изменение адреса» при смене протокола не используется — достаточно 301-редиректов. Добавьте ресурс типа «Домен» (подтверждение через DNS, охватывает все протоколы и поддомены) и отправьте новый sitemap.
- Аналитика и реклама. Обновите адрес в Метрике, объявлениях Директа и карточке Яндекс Бизнеса.
Первые недели после переезда следите за индексацией в Вебмастере и Search Console. Если позиции просели сильнее обычных колебаний, пройдитесь по разбору что делать, если сайт потерял позиции — чаще всего причина в редиректах на главную или в забытом canonical.
Как проверить, что HTTPS настроен правильно
| Инструмент | Что проверяет | На что смотреть |
|---|---|---|
| SSL Labs (ssllabs.com/ssltest) | Сертификат, цепочку, протоколы | Оценка A или A+, отсутствие «Chain issues: Incomplete», отключённые TLS 1.0 и 1.1 |
| Яндекс Вебмастер → «Проверка ответа сервера» | Ответ сервера и ошибки SSL для робота Яндекса | Код 200 для https-страниц, 301 для http-адресов |
| Консоль браузера (F12) | Смешанный контент на конкретной странице | Нет Mixed Content на главной, в карточке, корзине и формах |
curl -I http://example.ru | Редирект с каждого варианта адреса | Один ответ 301 сразу на итоговый https-адрес |
openssl s_client -connect example.ru:443 -servername example.ru | Какой сертификат и цепочку реально отдаёт сервер | Домен, срок действия, наличие промежуточного сертификата |
Отдельно проверьте сайт с телефона: неполную цепочку компьютерный Chrome часто прощает, а часть мобильных браузеров — нет.
Частые ошибки при переводе сайта на HTTPS
- Продление настроено, но не проверено. Сертификат выпустили вручную, и через 90 дней сайт снова «не защищён». С февраля 2027 года Let's Encrypt сокращает срок до 64 дней, платные сертификаты с марта 2026-го действуют не больше 200 дней — ручная замена больше не вариант.
- Закрыт порт 80. Файрвол блокирует HTTP, и Let's Encrypt не может проверить домен при продлении.
- Не обновлены интеграции: вебхуки платёжного шлюза, CRM и доставки шлют запросы на http-адрес, и часть не проходит через редирект.
Чек-лист переезда сайта на HTTPS
- Снята резервная копия файлов и базы
- Сертификат выпущен на основной домен, www и все рабочие поддомены, установлена полная цепочка
- Автопродление проверено, срок действия отслеживает внешний мониторинг
- В CMS адрес сайта сменён на https, старые адреса в базе заменены
- В консоли браузера нет предупреждений Mixed Content на ключевых страницах
- Все http-адреса отдают один 301-редирект на такую же https-страницу
- Canonical, sitemap.xml, robots.txt и hreflang ведут на https
- Https-версия добавлена в Яндекс Вебмастер, включён «Переезд сайта» с опцией «Добавить HTTPS»
- В Search Console добавлен ресурс «Домен» и отправлен новый sitemap
- Обновлены адреса в Метрике, Директе, Яндекс Бизнесе, вебхуках CRM и платёжки
- SSL Labs показывает A или A+, сайт открывается без предупреждений на телефоне, HSTS включён с коротким сроком
Если сайт на виртуальном хостинге и причина в истёкшем сертификате, исправление занимает минуты в панели хостера. Переезд живого сайта с каталогом и интеграциями — проект на несколько дней. При одновременной смене хостинга сертификат и редиректы проверяют до того, как на новый сервер пойдёт трафик, — это часть переноса сайта. Чтобы ошибка не повторилась при следующем продлении, контроль сроков включают в техническую поддержку сайта.
