HTTP-изображения через HTTPS с использованием angularjs

всякий раз, когда я посещаю свой веб-сайт на основе angularjs, который загружает изображения (http-изображения на https-сервере), я получаю предупреждения в консоли о том, что смешанный контент был заблокирован. И эти изображения не отображаются

Это не мой браузер, потому что это происходит и в других браузерах и в других системах, это не сервер, потому что другой веб-сайт, который не использует angularjs, работает нормально. Поэтому я думаю, что это связано с angularjs.

Я уже сделал это:

$sceDelegateProvider.resourceUrlWhitelist([
    'self',
    'http://images.RESOURCE.net/*'
]); 

но это ничего не делает. Более того, я попытался загрузить их по URL-адресу без протокола, поэтому //images.RESOURCE.net

Это приводит к тому, что они загружаются через https, но тогда идентификация сервера изображения не может быть проверена, и он также не работает.

Есть ли кто-нибудь, кто может определить реальную проблему, это angularjs и может ли angularjs это исправить? Практически невозможно удалить angularjs из проекта в текущем состоянии.

Спасибо

-xКодер


person Janosch Hübner    schedule 21.10.2015    source источник
comment
не имеет ничего общего с угловым... это функция безопасности браузера. Легкая тема для исследования   -  person charlietfl    schedule 21.10.2015
comment
так как же возможно, что система, отличная от angularjs, работает нормально? в том же браузере   -  person Janosch Hübner    schedule 21.10.2015
comment
@xCoder В этой системе, отличной от angularjs, вероятно, включен CORS.   -  person buzzsaw    schedule 21.10.2015
comment
@buzzsaw Я читал о CORS, но это тот же сервер, могу ли я включить CORS программно?   -  person Janosch Hübner    schedule 21.10.2015
comment
достаточно легко проверить, вообще не используя angular... откройте одно из изображений по протоколу https прямо в браузере   -  person charlietfl    schedule 21.10.2015


Ответы (1)


Это не ограничение Angular. Современные браузеры блокируют загрузку смешанного (http) контента через безопасное (https) соединение. Это можно решить, изменив настройки в выбранном вами браузере.

Включение смешанного содержимого в браузере:

IE: http://wiki.sln.suny.edu/display/SLNKB/Enabling+mixed+content+in+Internet+Explorer

Firefox: http://wiki.sln.suny.edu/display/SLNKB/Enabling+mixed+content+in+Mozilla+Firefox

Chrome: http://wiki.sln.suny.edu/display/SLNKB/Enabling+mixed+content+in+Google+Chrome

person buzzsaw    schedule 21.10.2015
comment
это не повлияет на изображения, браузер обрабатывает их напрямую. Смешанный контент и CORS — разные проблемы - person charlietfl; 21.10.2015
comment
@charlietfl Вы абсолютно правы. Я забыл, что изображения не были частью явно заблокированного контента и не подпадают под такие же ограничения. Хотя это все еще ограничение браузера, с ним может справиться конечный пользователь. Обновляю свой ответ сейчас. - person buzzsaw; 21.10.2015