Почему SyntaxHighlighter загружается по HTTP с сайта blogger.com

Я добавил следующий HTML-код в раздел head моей темы blogger.com.

<link href='https://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'> 
<link href='https://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'> 
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<script language='javascript'> 
    SyntaxHighlighter.config.bloggerMode = true;
    SyntaxHighlighter.config.clipboardSwf = &#39;https://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf&#39;;
    SyntaxHighlighter.all();
</script>

Но когда я просматриваю страницу через HTTP, браузер сообщает мне, что я запрашиваю небезопасные HTTP ресурсы со второй HTTPS страницы.

https://mrpmorris.blogspot.co.uk/2017/06/loading-assembly-from-specific-path.html

Если я щелкну правой кнопкой мыши ссылку alexgorbatchev в консоли Chome и выберу Open in new link, я попаду на небезопасную страницу, если я добавлю https:// в начало URL-адреса, он будет безопасно загружаться.

Почему Chrome и MS Edge пытаются получить эти ресурсы через http, когда в разметке явно указано https?


person Peter Morris    schedule 01.07.2017    source источник
comment
Что-нибудь сделать с URL-адресом clipboardSwf, заключенным в html-кавычки?   -  person pinkfloydx33    schedule 02.07.2017
comment
Столкнулся с той же проблемой уже довольно давно (блог). Решение CDN отлично справляется с этой проблемой, хотя я сомневаюсь, как будет работать управление версиями.   -  person Aniket Thakur    schedule 16.05.2020


Ответы (2)


$ curl -I https://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js -k
HTTP/1.1 302 Moved Temporarily
...
Location: http://agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushPerl.js
...

Вы можете видеть, что он на самом деле перенаправляется на TypePad.com. За этим стоит «крутая» история. В темные времена, когда пропускная способность была дорогой, я получал сотни ГБ трафика на этих скриптах, что начинало стоить более 100 долларов в месяц. Я переместил файлы на бесплатный хостинг, но не хотел, чтобы все существующие ссылки на alexgorbatchev.com ломались, поэтому настроил редиректы.

Вероятно, мне следует исправить перенаправление, чтобы использовать тот же протокол, что и запрос :)

person alex    schedule 02.07.2017
comment
Спасибо, как за библиотеку, так и за ваш ответ! - person Peter Morris; 03.07.2017
comment
@alex - вы случайно не разместили их безопасно без базовой переадресации? У меня та же проблема, и мой блог, который использует ваш SyntaxHighlighter (спасибо), не будет правильно загружаться через http. - person atconway; 19.09.2018
comment
@alex - вы случайно не разместили их безопасно без базовой переадресации? - person Pratham; 29.06.2019
comment
@alex, не могли бы вы исправить и эти? 'agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shCore .js' 'agorbatchev.typepad.com/pub/ sh/3_0_83/styles/shThemeEclipse.cs' 'agorbatchev .typepad.com/pub/sh/3_0_83/scripts/shBrushJava.js' 'agorbatchev.typepad.com/pub/sh/3_0_83/scripts/shBrushXml.js'. контент должен передаваться через HTTPS. - person akjprajapati; 12.11.2019
comment
Похоже, многие этим пользуются. Было бы хорошо, чтобы это работало и для https. Кроме того, похоже, что в настоящее время он не работает. Это дает 404 Not Found nginx/1.4.6 (Ubuntu). CDN здесь кажется лучшим вариантом, поскольку он кэширует его, но у него есть недостаток, связанный с обновлением версий вручную (если только у нас не может быть что-то вроде версии current). - person Aniket Thakur; 16.05.2020

Я столкнулся с той же проблемой в моем блоге.

Я заменил следующий фрагмент кода:

<link href='https://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='https://alexgorbatchev.com/pub/sh/current/styles/shThemeEclipse.css' rel='stylesheet' type='text/css'/>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'/>
<script src='https://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>

С помощью приведенного ниже:

<link href='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shThemeEclipse.css' rel='stylesheet' type='text/css'/>
<script src='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.js' type='text/javascript'/>
<script src='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJava.js' type='text/javascript'/>
<script src='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.js' type='text/javascript'/>

И теперь мой блог перестал выдавать ошибку небезопасный контент заблокирован. Потому что теперь весь контент обслуживается через https, и это тоже один из лучших cdn в мире.

person akjprajapati    schedule 14.11.2019
comment
Пожалуйста, найдите свой контент здесь -- cdnjs.com/libraries/SyntaxHighlighter - person akjprajapati; 14.11.2019
comment
Кто поддерживает это? Исходные ссылки всегда указывают на current, что означает, что когда будет выпущена последняя версия, мы получим ее, но с этим нам придется обновлять ее вручную? Кроме того, будут ли удалены старые версии? - person Aniket Thakur; 16.05.2020