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;
    }
}
相关推荐
alonewolf_9918 小时前
Spring IOC容器扩展点全景:深入探索与实践演练
java·后端·spring
super_lzb18 小时前
springboot打war包时将外部配置文件打入到war包内
java·spring boot·后端·maven
毛小茛18 小时前
芋道管理系统学习——项目结构
java·学习
东北小狐狸-Hellxz19 小时前
解决java客户端连接ssh失败问题
java·网络·ssh
悟能不能悟19 小时前
HttpServletRequest request获取整个headers有什么方法
java
__万波__19 小时前
二十三种设计模式(二十)--解释器模式
java·设计模式·解释器模式
网安_秋刀鱼19 小时前
【java安全】反序列化 - CC1链
java·c语言·安全
零度@19 小时前
Java消息中间件-Kafka全解(2026精简版)
java·kafka·c#·linq
钱多多_qdd19 小时前
springboot注解(二)
java·spring boot·后端
Cosmoshhhyyy19 小时前
《Effective Java》解读第32条:谨慎并用泛型和可变参数
java·python