首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止:春季启动升级后的混合内容错误

阻止:春季启动升级后的混合内容错误
EN

Stack Overflow用户
提问于 2021-04-19 17:45:00
回答 1查看 1.1K关注 0票数 0

我已经升级了一些从SpringBoot1.5.3到2.3.5之间互相交谈的微服务。现在,当我的微服务A调用微服务B时,在chrome的developer tools (blocked:mixed-content)的网络选项卡上,调用失败如下

我不知道是什么改变了我开始得到这个错误。

在浏览器的控制台中,我得到以下错误:

代码语言:javascript
复制
Mixed Content: The page at 'https://gateway-url/my-endpoint' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://micro-service-b-url/login'. This request has been blocked; the content must be served over HTTPS.

奇怪的是,在我的整个代码库中没有端点/login。在springboot升级之后,我无法理解这种行为。

任何关于spring引导升级如何导致此错误和可能的解决方案的指导都将受到赞赏。

注意:我找到了一些建议使用下面的代码来解决这个问题的答案

代码语言:javascript
复制
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

但是看起来它并不适用于所有的浏览器,我不确定在安全性方面使用这个解决方案是否安全。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-21 07:11:48

了解问题并找到解决办法。

看起来,SpringBoot 1中使用的安全挂钩在SpringBoot 2中是不推荐使用的。

代码语言:javascript
复制
security.basic.enable: false
security.ignored=/**

因此,SpringBoot 2在微服务B上强制执行默认的安全配置,通过网关对微服务B的调用被重定向到web登录,这导致神秘的/login端点被调用。

解决方案是禁用默认安全性。我做了以下步骤:

代码语言:javascript
复制
1. Removed deprecated hooks from properties file:
   
    security.basic.enable: false
    security.ignored=/**

 2. Disabled default security using below config  

    @SpringBootApplication(exclude = { SecurityAutoConfiguration.class, 
                                       ManagementWebSecurityAutoConfiguration.class })
    public class MyApplication  extends WebMvcConfigurerAdapter{

注意:我不得不排除ManagementWebSecurityAutoConfiguration.class,因为微型服务使用的是SpringBoot执行器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67166854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档