springboot-ssl-https

本文介绍了如何使用JDK生成SSL证书,为Tomcat配置HTTPS访问,并实现HTTP与HTTPS不同端口的双向访问。步骤包括JKS密钥生成、配置application.properties、添加安全约束和转向规则。
摘要由CSDN通过智能技术生成

一、只能https访问,http访问不了。

1、JDK生成ssl证书,别名tomcathttps type:JKS
在这里插入图片描述
jdk1.8.0_231\bin下cmd运行: keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore D:\javaboy.p13 -validity 3650
在这里插入图片描述

2、把生成的javaboy.p13文件复制到项目的 resources 目录下。

3、application.properties 文件中添加如下配置:

server.ssl.key-store=classpath:javaboy.p13
server.ssl.key-password=123456
server.ssl.key-store-type=JKS
server.ssl.key-alias=tomcathttps

二、http、https可不同端口同时访问。(暂时未测试)

1、配置http→https转向,在启动类中配置:

 @Bean
    public TomcatServletWebServerFactory servletContainer() {

        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(connector());
        return tomcat;
    }

    @Bean
    public Connector connector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocal");
        connector.setScheme("http");
        connector.setPort(443);
        connector.setSecure(false);
        connector.setRedirectPort(7998);
        return connector;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值