Странная проблема со смешанным содержимым

У меня была эта ошибка в Инструментах разработчика Chrome какое-то время, и я просто не могу найти небезопасный запрос http: //. Он указывает на мой домен, но без https: //. http://www.example.com/ не является сценарием, поэтому я не понимаю, к чему это приведет. из.

Смешанное содержание: страница по адресу 'https://www.example.com/categoy/a-product.html 'был загружен по HTTPS, но запросил небезопасный скрипт' http://www.example.com/ ». Этот запрос заблокирован; контент должен передаваться по HTTPS.

Смешанное содержание: страница по адресу 'https://www.example.com/categoy/a-product.html 'был загружен по HTTPS, но запросил небезопасную конечную точку XMLHttpRequest' http://www.example.com/ ». Этот запрос заблокирован; контент должен передаваться по HTTPS.

Спасибо


person Freejoy    schedule 29.04.2017    source источник


Ответы (2)


У меня была аналогичная проблема. Является ли страница, на которой вы размещаете, одностраничным приложением с маршрутизацией HTML5 / истории / push-состояния?

У этого типа маршрутизации много названий, но он заменяет ваш URL-адрес на основе хэша https://address.com/page/#client/side/route обычными маршрутами, такими как https://address.com/page/client/side/route. Когда файлы размещаются на статическом файловом сервере, файловый сервер может не знать о маршрутизации на стороне клиента и возвращать 404 вместо маршрутизации всего на index.html. По-видимому, это может привести к описанной вами проблеме в Chrome, даже если страница может работать.

Короче говоря, многие инструменты статического хостинга файлов не подходят для обслуживания SPA с маршрутизацией HTML5, особенно http-server (https://github.com/indexzero/http-server/issues/80). Попробуйте другой инструмент (например, serve) или используйте nginx с try_files $uri $uri/ index.html.

person Jodiug    schedule 07.02.2018

Это означает, что доступ к вашей веб-странице осуществляется через https, но она использует ресурсы, которые обслуживаются через http. Современные браузеры, такие как Chrome, считают это угрозой безопасности. Браузер не загружает ресурсы http и показывает предупреждение в консоли разработчика.

Решение состоит в том, чтобы изменить метод протокола с http на https для всех ресурсов, к которым осуществляется доступ через http.

См. Эту ссылку: https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content#alternatives_to_csp

person Nadir Latif    schedule 30.04.2017