【Spring Security】请求莫名重定向至login的问题

一、WHAT

        最近在对SpringBoot/SpringCloud框架版本进行升级后,发现部分服务的API接口莫名奇妙出现blocked:mixed-content问题!

        表面上看,这是一个受到浏览器机制的限制,HTTPS协议不允许访问HTTP接口的问题!

        事实上,毋庸置疑,这的的确确是一个HTTPS接口!

二、WHERE

        首先可以简单排除前端请求问题!

【Spring Security】请求莫名重定向至login的问题_第1张图片

1、nginx

        由于本次未对nginx及相关配置做太多改动,初步判断不太可能是nginx转发的原因!

        分析nginx日志,发现接口发生了302跳转!

【Spring Security】请求莫名重定向至login的问题_第2张图片

2、gateway

        gateway的原因吗?有可能,暂不排除!

3、service

        发送http请求测试,发现请求莫名重定向至 http://xxx:port/login

【Spring Security】请求莫名重定向至login的问题_第3张图片 

        由此,可以初步断定,请求在service端发生了重定向!

三、WHY

        从重定向的地址login,可以初步判断,这是由于spring security框架未通过认证而将请求重定向至登录页面!

四、HOW

        由于本系统并未使用到Spring Security框架,在本次版本升级之前已经通过排除自动配置类方式禁用了Security框架!所以判断本次出现问题,是由于框架升级以致规则发生变化所致!

@SpringBootApplication(exclude = {
        SecurityAutoConfiguration.class
})

        本次SpringBoot版本升级,相确切来说,2.1.0版本之后,新增的下面这个类会依赖引入Spring Security框架!

【Spring Security】请求莫名重定向至login的问题_第4张图片

         修改启动类,增加排除类ManagementWebSecurityAutoConfiguration,问题解决!!

@SpringBootApplication(exclude = {
        SecurityAutoConfiguration.class,
        ManagementWebSecurityAutoConfiguration.class
})

 

【Spring Security】请求莫名重定向至login的问题_第5张图片

 

你可能感兴趣的:(5W1H,Question,spring,java,后端)