boot https ssl 使用http协议访问报错

在springboot中配置ssl以后, 再次使用http访问对应的接口就会报错

可以考虑如下设置,将http访问的端口重定向到https对应的端口

java 复制代码
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class TomcatConfig {
    @Bean
    TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(){
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        factory.addAdditionalTomcatConnectors(createTomcatConnector());
        return factory;
    }
    // 8080 -> 重定向到8843端口
    private Connector createTomcatConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(8080);
        connector.setSecure(false);
        connector.setRedirectPort(8443);
        return connector;
    }
}
相关推荐
用户3126874877208 分钟前
@Autowired 注入的是代理对象?Spring AOP 代理选择原理一次讲透
java·spring
@insist12312 分钟前
信息系统管理工程师-任务、标准、EDM 过程与关键域
java·大数据·数据库
木子杳衫23 分钟前
Java高级进阶 | 单元测试JUnit + 反射机制实战详解
java·junit·单元测试
qq_3660862228 分钟前
关于接口路径中中文值解码问题
java·开发语言·数据库
大白菜和MySQL31 分钟前
elk部署和kibana图形化展示
java·笔记·elasticsearch
Zane199442 分钟前
JMM 与 happens-before:一次搞懂 Java 内存模型
java·后端
An_s1 小时前
Java Spring Boot+vue3文件管理系统
java·开发语言
wuqingshun3141591 小时前
接口和抽象类有什么区别?
java
SimonKing1 小时前
别再写 setter 了!MapStruct Plus vs MapStruct,谁才是 Bean 转换的真神?
java·后端·程序员
倒流时光三十年1 小时前
第一阶段 05 · Java 客户端查询类详解(Query / SearchCriteria / Response 与复杂拼接)
java·开发语言·python