Mixed Content — HTTPS-страница загружает HTTP-ресурсы (картинки, скрипты, iframe). Chrome блокирует active (скрипты/iframe) полностью, passive (картинки) — показывает warning. Исправление: заменить все http:// на https:// или // (protocol-relative), либо добавить header Content-Security-Policy: upgrade-insecure-requests.
Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.
Бесплатный онлайн-инструмент — проверка mixed content: результат мгновенно, без регистрации.
http://cdn.old.com → https://cdn.old.comUPDATE wp_posts SET post_content = REPLACE(post_content, "http://example.com", "https://example.com")Content-Security-Policy: upgrade-insecure-requests; — автоматически апгрейдит все HTTP на HTTPS| Сценарий | Конфиг / запись |
|---|---|
| nginx: CSP upgrade-insecure-requests | add_header Content-Security-Policy "upgrade-insecure-requests;" always; |
| Apache: .htaccess | Header set Content-Security-Policy "upgrade-insecure-requests;" |
| HTML meta fallback | <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests;"> |
| Protocol-relative URL | <img src="//cdn.example.com/logo.png"> (работает и HTTP и HTTPS) |
| WordPress plugin | Really Simple SSL — авто-замена + HSTS |
<a href="http://..."> не считается mixed content, но UX плохой — замените всёXMLHttpRequest к HTTP endpoint блокируется без warning — проверьте вручнуюЧтобы исправить проблему Mixed Content на вашем сайте, необходимо заменить все HTTP-ресурсы на HTTPS. Это можно сделать с помощью поиска и замены в коде или с помощью инструментов автоматизации. Используйте инструменты, такие как curl для проверки наличия Mixed Content, и обновите конфигурацию веб-сервера для принудительного перенаправления на HTTPS.
Mixed Content возникает, когда веб-страница, загружаемая по HTTPS, включает ресурсы (например, изображения, скрипты или стили), загружаемые по HTTP. Это создает уязвимости и может привести к проблемам с безопасностью. В 2026 году большинство современных браузеров блокируют Mixed Content, что делает исправление этой проблемы критически важным для обеспечения безопасности вашего сайта.
Существует два типа Mixed Content:
Чтобы избежать таких проблем, важно убедиться, что все ресурсы вашего сайта загружаются по протоколу HTTPS.
Для исправления Mixed Content на вашем сайте выполните следующие шаги:
curl -I https://ваш_домен, чтобы проверить заголовки ответа. Обратите внимание на любые ссылки, которые указывают на HTTP.sed или grep, могут помочь вам найти и заменить ссылки в коде. Например:grep -rl 'http://' /path/to/your/site | xargs sed -i 's|http://|https://|g'Эта команда найдет все файлы, содержащие ссылки на HTTP, и заменит их на HTTPS.
server { listen 80; server_name ваш_домен; return 301 https://$host$request_uri; }Это перенаправит все HTTP-запросы на HTTPS.
curl для проверки вашего сайта. Убедитесь, что все ресурсы загружаются по HTTPS и нет предупреждений о Mixed Content.Следуя этим шагам, вы сможете устранить проблему Mixed Content и повысить безопасность вашего сайта.
Mixed Content — загрузка HTTP-ресурсов (изображений, скриптов, CSS) на HTTPS-странице. Браузеры блокируют активный mixed content (JS, CSS) и предупреждают о пассивном (изображения).
Находим все HTTP-ресурсы на странице: скрипты, стили, изображения, фреймы.
Делим на активный (критичный) и пассивный (некритичный) mixed content.
Каждый HTTP-ресурс перечислен с типом и рекомендацией по исправлению.
Результат за секунды — проверяем страницу без полной загрузки браузером.
аудит после миграции на HTTPS
поиск небезопасных ресурсов
устранение предупреждений браузера
контроль третьесторонних ресурсов
// для адаптации протокола.Content-Security-Policy: upgrade-insecure-requests автоматически заменяет HTTP на HTTPS.src="/images/logo.png" вместо src="http://example.com/images/logo.png".История проверок mixed content и мониторинг HTTPS-безопасности сайта.
Зарегистрироваться (FREE)Active — скрипты, iframe, stylesheets, XHR — могут выполнить код с ограничениями HTTPS-страницы. Chrome блокирует полностью. Passive — картинки, аудио, видео — только пассивно отображаются. Показывают warning, но не блокируются.
Для отдельного домена в Chrome: Settings → Privacy → Site settings → Insecure content → Allowed for specific site. Но на production это опасно — используйте только для dev.
Chrome 43+, Firefox 42+, Safari 10.1+. IE не поддерживает, но на enterno.io mobile/desktop браузеры покрывают 98%.
CMS-плагин для авто-замены при сохранении (WordPress: Really Simple SSL), Git pre-commit hook для контента, CSP-report мониторинг в production.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.