Смешанное содержимое (http на https-странице)

пошаговая инструкция · Около часа

← Все инструкции

1. Что произошло

На защищённой странице часть картинок или скриптов грузится по http.

2. Почему это важно

Браузер блокирует такие файлы или снимает значок замка: страница выглядит сломанной. После исправления: Вернётся значок замка, страницы отобразятся полностью.

3. На каких страницах обнаружено

Главная страница: ссылки на картинки, скрипты, стили и фреймы с адресом http://. Полный список по всем страницам даёт аудит страниц и глубокий обход.

Чтобы увидеть адреса на вашем сайте, откройте инструкцию из отчёта или добавьте домен в адрес: /fix/mixed/ваш-сайт.ru.

4. Как исправить

Для 1С-Битрикс

  1. Проверьте шаблон сайта (header.php, footer.php, template_styles.css), а также содержимое инфоблоков — поиск по «http://» в административном разделе «Контент».

Общее для любого сайта

  1. Найдите источник: откройте страницу, нажмите F12 → «Консоль» — браузер перечисляет заблокированные http-ресурсы.
  2. Замените http:// на https:// в ссылках (если у внешнего сервиса есть https) или на относительные пути /img/photo.jpg для своих файлов.
  3. Если сервис не поддерживает https — скачайте файл на свой сайт или замените виджет.
  4. Временная мера, пока чистите ссылки: заголовок Content-Security-Policy: upgrade-insecure-requests заставит браузер запрашивать эти файлы по https.

5. Готовый код

Замените example.com на свой домен. Перед правкой конфигурации сделайте резервную копию файла.

phpBB

phpBB: замена в сообщениях (после резервной копии!)
UPDATE phpbb_posts SET post_text = REPLACE(post_text, 'http://example.com', 'https://example.com');

nginx

Временная мера: upgrade-insecure-requests (nginx)
add_header Content-Security-Policy "upgrade-insecure-requests" always;

Apache

Временная мера (Apache)
Header always set Content-Security-Policy "upgrade-insecure-requests"

6. Как проверить результат

  1. Команда не должна ничего находить (внешние ссылки <a href> на чужие сайты допустимы).
  2. Консоль браузера (F12) не показывает «Mixed Content».
  3. Нажмите «Перепроверить сайт».
Поиск http-ресурсов в разметке
curl -s https://example.com/ | grep -oE '(src|href)="http://[^"]+' | head

Чтобы перепроверить сайт, откройте отчёт и нажмите «Проверить заново».