Ошибка веб-API - этот запрос был заблокирован; содержание должно быть подано через HTTPS - PullRequest
0 голосов
/ 01 сентября 2018

Мы развернули API на Azure и пытаемся использовать в нашем веб-приложении, написанном на угловом 5. Однако, когда мы пытаемся использовать API, мы получаем следующие ошибки.

Chrome Смешанное содержимое: была загружена страница в 'https://somedevapp.azurewebsites.net/#/managesomething' через HTTPS, но запросил небезопасную конечную точку XMLHttpRequest http://admindevapp.azurewebsites.net/api/data/getdata'. Этот запрос был заблокирован; содержимое должно быть передано по протоколу HTTPS.

Firefox Заблокированная загрузка смешанного активного контента

Эта проблема связана с CORS? Как решить эту проблему?

Любая помощь по этому вопросу приветствуется!

1 Ответ

0 голосов
/ 02 сентября 2018

Если ваше веб-приложение размещается по HTTP, как вы указали, то все внешние ресурсы, которые оно потребляет (CDN, скрипты, файлы CSS, вызовы API), должны также использовать SSL и быть защищены через HTTP. Думаю об этом. Это поставило бы под угрозу цель обеспечения безопасности вашего приложения, если бы оно, в свою очередь, делало небезопасные запросы к API.

Следовательно, вы можете:

  1. Как рекомендует Chrome, измените вызовы API на использование HTTP ( рекомендуется )
  2. Использовать HTTP вместо HTTP
  3. Добавьте следующий тег meta к элементу <head> в своем HTML:

    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

Более подробную информацию об этом можно найти здесь: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests.

...