Запрос заблокирован; контент должен обслуживаться через HTTPS

Я делаю приложение с Spring безопасностью и Spring MVC в бэкэнде и Angular во фронтэнде. Моя проблема в том, что я правильно вошел в систему, но проблему с выходом из системы я правильно реализовал на моем локальном хосте: http://localhost:8080 работал без проблем. Когда я меняю его на https://, я получаю такую ​​ошибку:

Mixed Content: The page at '' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint ''. This request has been blocked; the content must be served over HTTPS.

Я хочу знать, как это исправить? А как узнать, какой url заблокирован по https в браузере например хром?

Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
1
0
12 971
4

Ответы 4

Это сообщение, которое дает решение вашей проблемы: http://www.learningthegoodstuff.com/2015/08/mixed-http-error-with-spring-security.html

Все детали объяснены там, в основном все, что вам нужно сделать, это добавить эти две строки в мой файл application.properties:

server.tomcat.remote_ip_header=x-forwarded-for
server.tomcat.protocol_header=x-forwarded-proto

спасибо за ваш ответ, я пробовал, но он все еще не работает

Emen Emen 11.07.2018 09:42

Это происходит, когда сервер использует http (незащищенный). Вы можете исправить это, принудительно установив https для всех ресурсов в бэкэнде. Проверьте здесь для более подробной информации.

В ответе @Jabir Minjibir есть очень хорошая ссылка для описания ошибки. Подводя итог, когда ваше приложение работает со схемой httpS, вы не можете посещать незащищенные ссылки, то есть http.

Я получил эту ошибку и исправил ее, как я писал ниже:

Mixed Content: The page at 'https://stackblitz.com/' was loaded over HTTPS, but 
requested an insecure XMLHttpRequest endpoint 'http://172.19.0.62:920/'. 
This request has been blocked; the content must be served over HTTPS.

Вы можете замаскировать незащищенные ссылки с помощью пакета simple-https-proxy npm. По моему опыту, я кодировал образец angular на httpS://stackblitz.com и пытался подключиться к серверу Elasticsearch, у которого нет доменного имени. Мне нужно было заставить его работать с ssl, но я не мог изменить его схему. Таким образом, я установил прокси, который может работать безопасно (httpS).

  1. Я установил пакет npm:
npm i -g simple-https-proxy@latest

installing globally

  1. Затем я создал сертификат:
simple-https-proxy --makeCerts=true
  1. Затем я запустил это
simple-https-proxy --target=http://172.19.0.62:9200 --port=9201 --rewriteBodyUrls=false

В другом примере:

Другие вопросы по теме