Получить запрос выдает ошибку после того, как приложение реализовано SSL: смешанный контент: этот запрос был заблокирован; контент должен обслуживаться по HTTPS"

смешанные содержание: страница в 'https://www.example.com/dashboard' был загружен через HTTPS, но запросил небезопасную конечную точку XMLHttpRequest 'http://api.example.com/inventory/10/'. Запрос заблокирован; содержимое должно обслуживаться по протоколу HTTPS.

У нас есть это угловое веб-приложение, которое работает с колбой на задней панели. Все работало нормально, пока мы не внедрили SSL. После этого, мы продолжаем получать это странно ошибки повсюду.

теперь $http.сделать запрос в личном кабинете.js определенно звонит"https://api.example.com/inventory/10 " в коде ниже, и все же ошибка утверждает, что мы пытаемся запросить "http" вместо этого.

$http.get($rootScope.baseUrl+'/inventory/' + item.id)

где rootScope.baseUrl является"https://api.example.com".

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

вот заголовок, который получает ошибку на нашей вкладке сети консоли в chrome.

URL запроса:https://api.example.com/inventory/10 Заголовки Запросов Предварительные заголовки отображаются Accept:application/json, text / plain, / Происхождение:https://www.example.com Референт:https://www.example.com/dashboard

2 ответов


Это был странный случай, который сводился к удалению прямой косой черты с конца URL-адреса, фиксирующего все. Как-то, когда мы сделали запрос GET, используя $http в Angular, как baseurl + inventory.id+"/", он сделает http-запрос, но как только удалите эту косую черту, он сделает запрос https правильно.

все еще в замешательстве


Я думаю, что корень проблемы заключается в перенаправлении сервера. Я смог решить ту же проблему с SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') настройка для Django (работает за AWS balancer). Вот документация.