У меня есть веб-сайт, который передается по протоколу https. Это написано в angularJs. Веб-сайт вызывает службу app.net через api через http, а затем я получаю эту ошибку:
angular.js: 10765 Смешанное содержимое: страница на странице https://example.com/forms/#/question-set-4#topOfThePage была загружена через HTTPS, но запросила небезопасную конечную точку XMLHttpRequest " http://webapiaddress/api/ControllerName/GenerateCaptcha '. Этот запрос заблокирован; содержимое должно быть передано через HTTPS. (анонимная функция) @angular.js: 10765r @angular.js: 10558g @angular.js: 10268 (анонимная функция) @angular.js: 14792 $ eval @angular.js: 16052 $ digest @angular.js: 15870 $ apply @angular.js: 16160g @angular.js: 10589T @angular.js: 10787w.onload @angular.js: 10728 angular.js: 10765 XMLHttpRequest не может загрузить http://webapiaddres/api/SomeController/GenerateCaptcha. Не удалось загрузить загрузку.
Поэтому ошибка говорит мне, что я должен обслуживать веб-хост-сервер api через https addres. Поэтому в конфигурации этого веб-узла api я меняю его на https//webapiaddres/
Но тогда я получаю это:
angular.js: 10765 GET https: /webapiaddress/api/SomeController/GenerateCaptcha net :: ERR_INSECURE_RESPONSE
Что я делаю не так? Почему это происходит. Странно то, что это не кричит, что у меня нет CORS, но это может быть из-за того, что этот веб-сайт api selfhost и сайт находятся на одном сервере. Я не могу найти какую-либо симпатию к моей работе в google.
Мне удалось решить проблему с моим коллегой, и это было очень просто. На первый взгляд это не получилось. Я запустил адрес веб-api в браузере Chrome и там был запрос на прием сертификата. Когда я это сделал, все прошло гладко. Это работа для нашего администратора не из кода, но это был довольно интересный опыт.