Главная » Ошибки Битрикс » Смешанный контент и «Соединение не защищено» в Битрикс

Смешанный контент и «Соединение не защищено» в Битрикс

Схема поиска и устранения смешанного контента на HTTPS-сайте 1С-Битрикс

Сайт перешёл на HTTPS, сертификат в порядке, но браузер всё равно показывает "Соединение не защищено" или значок предупреждения вместо зелёного замка. Разберём, откуда берётся смешанный контент на сайтах 1С-Битрикс и как его системно найти и вычистить, а не чинить по одной странице за раз.

Что такое смешанный контент

Смешанный контент — это ситуация, когда HTTPS-страница загружает ресурсы (изображения, скрипты, стили, iframe) по незащищённому протоколу http://. Браузер по-разному реагирует на разные типы такого контента: пассивный смешанный контент (изображения) обычно просто помечается предупреждением, активный (скрипты, стили) может быть заблокирован браузером полностью, ломая функциональность страницы.

Источник №1: абсолютные ссылки в старом контенте

Материалы, залитые до перехода сайта на HTTPS, часто содержат жёстко прописанные абсолютные ссылки вида http://example.ru/upload/image.jpg внутри самого HTML-контента статей или карточек товаров — это остаётся так до тех пор, пока не будет исправлено вручную или массовой заменой в базе.

Нужна помощь с Битрикс?





    Массовый поиск и замена в базе данных

    -- поиск затронутых записей перед заменой
    SELECT ID, DETAIL_TEXT FROM b_iblock_element
    WHERE DETAIL_TEXT LIKE '%http://example.ru%';
    
    -- замена (после обязательного бэкапа!)
    UPDATE b_iblock_element
    SET DETAIL_TEXT = REPLACE(DETAIL_TEXT, 'http://example.ru', 'https://example.ru')
    WHERE DETAIL_TEXT LIKE '%http://example.ru%';

    Прямой SQL-запрос массовой замены — быстрый способ вычистить старые ссылки, но требует обязательной резервной копии перед выполнением и точного понимания, в каких именно полях и таблицах может встречаться проблема, — детальный текст элементов инфоблока далеко не единственное место, где могут быть жёстко прописанные адреса.

    Источник №2: сторонние виджеты и скрипты

    Встроенные виджеты — онлайн-чат, счётчики аналитики, виджеты соцсетей — иногда подключаются кодом, скопированным из документации сервиса с жёстко прописанным http://, особенно если код был получен и вставлен давно. Такие подключения стоит проверить отдельно, поскольку они обычно находятся не в контенте статей, а в коде шаблона или отдельных инклюдах.

    Протокол-независимые ссылки

    Вместо жёсткого указания https:// в местах, где ресурс может обслуживаться как по HTTP, так и по HTTPS (что сейчас редкость, но исторически было распространённым решением), использовалась протокол-независимая запись //example.ru/style.css, которая наследует протокол текущей страницы. Сегодня для собственного контента практичнее просто использовать явный https:// напрямую, поскольку весь трафик и так идёт по защищённому протоколу.

    Инструмент DevTools для точечной диагностики

    Вкладка Console в инструментах разработчика браузера (F12) прямо показывает список заблокированных или предупреждающих запросов смешанного контента с указанием конкретного URL — для точечной проверки одной страницы это быстрее, чем искать вслепую по всей базе данных.

    CSP-заголовок upgrade-insecure-requests

    # в конфигурации веб-сервера или через meta-тег
    Content-Security-Policy: upgrade-insecure-requests

    Этот заголовок указывает браузеру автоматически повышать все запросы http:// на странице до https://, не дожидаясь ручной чистки каждой ссылки, — удобная временная мера на период, пока идёт системная чистка контента, но не замена самой чистки, поскольку часть ресурсов на удалённых серверах может быть недоступна по HTTPS вовсе.

    Регулярная проверка после каждого крупного импорта контента

    Массовый импорт контента (из 1С, из старой CMS, из внешнего фида) — регулярный источник новых жёстко прописанных HTTP-ссылок, если источник данных сам исторически использовал HTTP. Стоит включить проверку на смешанный контент в регулярный процесс после крупных импортов, а не считать проблему решённой раз и навсегда после единственной чистки.

    Частые ошибки

    • Чистка выполняется вручную по одной странице. Не масштабируется на сайт с сотнями и тысячами материалов.
    • Массовая замена в базе без резервной копии. Ошибка в запросе может повредить контент без возможности отката.
    • Проверены только статьи, но не сторонние виджеты в шаблоне. Часть смешанного контента остаётся необнаруженной.
    • Новый импорт контента не проверяется на HTTP-ссылки. Проблема появляется заново после каждой крупной загрузки данных.

    Итог

    Смешанный контент на HTTPS-сайте почти всегда родом из старого контента, залитого до перехода на защищённый протокол, или из сторонних виджетов с устаревшим кодом подключения. Массовая замена в базе данных с обязательным бэкапом решает основную часть проблемы быстрее ручной правки, а заголовок upgrade-insecure-requests можно использовать как временную страховку на период системной чистки.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний