У меня есть сайт, который отлично загружается в Firefox и IE, но блокируется Chrome. Chrome жалуется на контент в смешанном режиме, однако все ресурсы доступны по относительным URL-адресам в пределах одного домена.
По моему мнению, относительный URL-адрес должен использовать тот же протокол, что и загружаемая главная страница. В этом случае у меня есть следующее:
<link href="/assets/css/small.css" title="Small" rel="alternate stylesheet" type="text/css" />
<link href="/assets/css/large.css" title="Large" rel="alternate stylesheet" type="text/css" />
Оба являются относительными URL-адресами. Когда страница загружается через HTTPS, я получаю следующее из консоли Chrome (я меняю имя домена для конфиденциальности моего клиента):
[blocked] The page at https://www.example.com/Login/ ran insecure content from http://www.example.com/assets/css/small.css. [blocked] The page at https://www.example.com/Login/ ran insecure content from http://www.example.com/assets/css/large.css.
Я ошибаюсь в предположении, что относительные URL-адреса должны соблюдать запрошенный протокол?
UPDATE: Он также блокирует файлы .js, ссылающиеся одинаково:
<script src="/assets/scripts/change-text-size.js" type="text/javascript"></script>
блокируется:
[blocked] The page at https://www.example.com/Login/ ran insecure content from http://www.example.com/assets/scripts/change-text-size.js.
Еще одна странность в том, что если я вижу источник-источник на странице с проблемой, я вижу относительный URL-адрес, и если я наводил курсор на "ссылку" на ресурс (stylesheet,.js файл), tooltip. Говорит, что это https:.
Обновление 2: В файле .css ничего не упоминается. Вот все содержимое файла small.css, упомянутого выше:
div#content-wrap,
div#content-one-col
{
font-size: 65%;
}