Springboot工程配置ssl证书,实现tomcat开放http&https多端口访问

此文简单概述Springboot工程中配置ssl证书,不做其他概述。

配置前提,需要现在腾讯云或者阿里云等其他正规渠道购买ssl证书。先将后缀未jks的证书下载到本地,如果未设置密码,那么在下载的压缩包内会携带一个临时key的文件(临时密码)。

  • 1、将后缀为jks的证书文件引到根目录的resource目录下
    在这里插入图片描述
  • 2、在application.yml配置文件中配置ssl
    在这里插入图片描述

完成以上两步后,ssl 证书已经配置完成,启动后可看到通信协议变成了https的方式了。
==》接下来的操作是实现tomcat开放多个类型端口的方式:
同时使用http & https 方式进行访问。(在springboot启动类中加入两个bean对象!一定是要在springboot主启动类中)

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;


	@Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory( ){
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(){
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection securityCollection = new SecurityCollection();
                securityCollection.addPattern("/*");
                securityConstraint.addCollection(securityCollection);
                context.addConstraint(securityConstraint);
            }
        };
        factory.addAdditionalTomcatConnectors(httpConnector());
        return factory;
    }

    @Bean
    public Connector httpConnector(){
        Connector connector = new Connector("org.apache.coyote.http11.Http11Nio2Protocol");
        connector.setScheme("http");
        connector.setPort(8081); // 设置监听的http端口号
        connector.setSecure(false);
        connector.setRedirectPort(8080); // 监听到http的端口号后转向到https的端口号
        return connector;
    }

==ok!==到此结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值