Бесплатная проверка
Найдём на защищённой странице то, что грузится по http: скрипты, стили, картинки и формы. Бесплатно, без регистрации.
Без регистрации. Проверяется весь набор, результат откроется на нужной строке. Нажимая кнопку, вы принимаете политику конфиденциальности.
Сертификат есть, замок в адресной строке горит, сервер отвечает 200 — и при этом часть страницы не работает. Браузеры давно не спрашивают разрешения: скрипт или стиль, пришедший по http на https-страницу, просто не выполняется, и в консоли об этом знает только тот, кто её открыл. Со стороны это выглядит как «поехала вёрстка» или «не отправляется форма» без всякой причины. Появляется это обычно не в день переезда на https, а позже: кто-то вставил виджет, счётчик или картинку со старым адресом, и с этого момента страница наполовину защищена.
Поломка случится не сегодня, а в тот день, когда её никто не будет искать. Поставьте сайт на постоянный контроль — и узнавайте о ней раньше клиента. Тридцать дней бесплатно, проверка каждые пять минут.
Начать бесплатноСертификат отвечает за соединение со страницей, а не за адреса внутри неё. Страница приходит по https, а картинка или скрипт в её коде записаны с http — это два независимых адреса. Поэтому проблема появляется и на сайтах с идеально настроенным сертификатом.
Потому что вы, скорее всего, смотрите не то, что видит новый посетитель: заблокированный ресурс мог остаться в кеше, а сообщение о блокировке видно только в консоли разработчика. Проверка смотрит на страницу так, как её получает браузер в первый раз.
Активное — то, что может изменить страницу: скрипты, стили, фреймы. Их браузер блокирует целиком, потому что подменённый по дороге скрипт означает подменённую страницу. Пассивное — картинки и медиа: их обычно показывают, но признак защищённого соединения снимают.
В большинстве случаев — заменить http на https в адресе ресурса: у почти всех сторонних сервисов защищённая версия есть. Если её нет, ресурс придётся убрать или положить к себе. Заголовок upgrade-insecure-requests чинит симптом, но не причину: он перепишет адреса на лету, а в коде останется старая ссылка, которая всплывёт при следующей правке.