springboot部署 需ssl证书 将http转https [超简单的方式]

springboot部署将http转https

1.腾讯云中申请免费的ssl证书

免费领取ssl证书
申请成功后:
在这里插入图片描述
点击下载,可下载ssl证书, 复制tomcat中的jks文件。
ssl证书中tomcat里的jks文件放在resources目录下
在这里插入图片描述

2.配置yml或properties文件

server:
  port: 443  #原本80端口改为 443端口
  ssl:
    key-store: classpath:www.itlinhao.cn.jks
    key-store-password: xxx       #xxx是ssl证书的密码
    key-store-type: JKS

3.修改主入口类

添加如下代码:

@Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = 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);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

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

修改后大致如下:
在这里插入图片描述
可运行测试一下,访问80端口自动跳到https的443端口

出现不安全,问题不大,待部署上线就是安全的了
在这里插入图片描述

4.打包部署

我是以jar方式部署,可百度查找springboot的jar方式部署
在这里插入图片描述
需注意的是,项目部署的端口为443
如下:

start.sh:

nohup java -jar blog-0.0.1-SNAPSHOT.jar --server.port=443 &

访问https://www.itlinhao.cn成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值