Mixed Content — HTTPS-страница загружает HTTP-ресурсы (картинки, скрипты, iframe). Chrome блокирует active (скрипты/iframe) полностью, passive (картинки) — показывает warning. Исправление: заменить все http:// на https:// или // (protocol-relative), либо добавить header Content-Security-Policy: upgrade-insecure-requests.
Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.
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-ресурсов (изображений, скриптов, 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.