(Spring笔记)SpringBoot-v2.5.3部署阿里云SSL证书——.pfx

目录

  • 1.前言
  • 2.配置须知
  • 3.准备SSL证书——xxx.pfx格式
  • 4.拷贝证书文件至SpringBoot工程
  • 5.SpringBoot配置文件.yml——引入SSL证书参数
  • 6.SpringBoot配置Application启动类
  • 7.本机电脑测试部署SSL证书
  • 8.阿里云轻量应用服务器测试部署SSL证书
  • 9.总结

提醒:若按本博文步骤完成,还是显示不安全,重启阿里云轻量应用服务器,亲测~!~!~,这个浪费我半天时间。是证书解析没刷新造成的,从而访问量旧SSL证书密钥。


1.前言

        上一章,介绍了阿里云轻量应用服务器系统Tomcat中部署安装阿里云SSL证书,通过https服务访问Tomcat服务器443端口,从而实现https://域名,访问Tomcat安装路径中webapps目录下JavaWeb网站项目。CentOS7.3镜像Tomcat8.5.69部署SSL证书,教程传送门链接:

        (Linux笔记)CentOS7.3镜像Tomcat8.5.69部署SSL证书——Linux系统

          CSDN链接:https://blog.csdn.net/qq_39038178/article/details/119516217

        本章介绍,使用SpringBoot-v2.5.3,部署安装阿里云SSL证书,项目打成jar包后,运行在阿里云轻量应用服务器上,Google浏览器显示证书安全等信息,那么,咱们开始啦~!~!~!


2.配置须知

使用注意:

        (1)SpringBoot内置Tomcat服务器,在本机电脑测试https服务部署的SSL证书时,需要stop关闭Windows系统Tomcat服务器,避免端口占用问题。

        (2)部署在阿里云服务器上同理,检查SpringBoot配置文件设置的端口号占用以及重定向端口问题(http+https),建议,stop关闭阿里云服务器Linux系统Tomcat服务器。总言而之,避免端口冲突,才正常运行。


3.准备SSL证书——xxx.pfx格式

        阿里云申请免费的SSL即可,把域名绑定的SSL证书下载到本机桌面上,如下:

说明:两个证书文件(仅本次下载有效)

        ——xxx.pfx:证书源文件

        ——xxx.txt:证书唯一密码


4.拷贝证书文件至SpringBoot工程

        解压证书压缩包文件,两个文件复制到SpirngBoot项目工程的resources资源根目录下:


5.SpringBoot配置文件.yml——引入SSL证书参数

        application.yml:添加配置参数

server:
    # 默认访问端口443。作用:访问https时,不需要添加端口443: https://域名
    # 例如:”port: 8443“ 时,https访问时,需要添加端口8443: https://域名:8443
    port: 443
    ssl:
      # resources根目录的”证书源文件.pfx“
      key-store: classpath:证书源文件.pfx
      # “.pfx”证书对应格式,“.jks"证书对应“RSA”
      key-store-type: PKCS12
      # ”.txt“证书密码
      key-store-password: QWORqu7g

6.SpringBoot配置Application启动类

        配置步骤获取Tomcat工厂实例tomcat ——自定义连接参数createHTTPConnector方法——return返回连接信息给方法——add添加至tomcat实例——return返回添加信息给tomcat工厂

@SpringBootApplication
@MapperScan("work.lpssfxy.www.campuslifeassistant.mapper")
public class CampusLifeAssistantApplication {
    public static void main(String[] args) {
        SpringApplication.run(CampusLifeAssistantApplication.class, args);
    }
    
    //SpringBoot-v2.0+配置方式
    @Bean
    public ServletWebServerFactory servletContainer() {
        //创建Tomcat服务器工厂实例
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        //添加此tomcat实例其它连接参数
        tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
        return tomcat;
    }

    /**
     * 配置tomcat自定义连接参数
     * @return
     */
    private Connector createHTTPConnector() {
        //Connector port有两种运行模式(NIO和APR),选择NIO模式:protocol="org.apache.coyote.http11.Http11NioProtocol"
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        //同时启用http(8080)、https(8443)两个端口
        connector.setScheme("http");
        //设置安全连接标志,该标志将被分配给通过该连接接收的请求
        //secure新的安全连接标志
        //如果connector.setSecure(true),则http使用http, https使用https; 分离状态,因此设置false
        connector.setSecure(false);
        //http默认端口
        connector.setPort(80);
        //重定向证书端口443,便于http自动跳转https
        connector.setRedirectPort(443);
        return connector;
    }
}

7.本机电脑测试部署SSL证书

        (1)运行SpringBoot工程项目,如下

        (2)打开Google浏览器,URL地址栏输入测试httphttp://localhost

        说明:

        分析不安全原因:因为此处使用本机IP地址作为请求地址。

        解决不安全方法

                ——SpringBoot工程项目,打包成jar包格式。

                ——购置1台云服务器(本人使用阿里云轻量应用服务器Linux7.3)

                ——域名完成ICP备案(域名已完成云解析DNS)

                ——项目jar包上传到云服务器中

                ——进入jar目录,执行命令:" java -jar 项目名称.jar & "

        (3)打开Google浏览器,URL地址栏输入测试httpshttps://localhost

******未解决:http未实现自动跳转https,奇怪~~~******


8.阿里云轻量应用服务器测试部署SSL证书

说明:

——已正确配置JDK1.8环境变量

——stop关闭轻量应用服务器Tomcat服务,避免443端口+80端口已占用

        (1)443端口已占用:报错如下:

                解决443端口已占用:cd进入轻量应用服务器tomcat安装路径根目录,执行命令:“bin/shutdown.sh”关闭tomcat服务,关闭就不占用443端口了。


        (2)打包SpringBoot工程项目,target目录生成.jar包,使用Maven打包命令:“mvn package”——BUILD SUCCESS——完成打包。


         (3)xftp工具连接阿里云轻量应用服务器,上传至指定目录(存放目录自选)


         (4)xshell工具连接阿里云轻量应用服务器,cd进入/usr目录,使用jar执行命令“java -jar campuslifeassistant-0.0.1-SNAPSHOT.jar &”——单次执行有效,窗口关闭,启动jar工程也随之关闭(当前ssh窗口关闭时,程序中止运行)


         (5)Linux下持续运行campuslifeassistant-0.0.1-SNAPSHOT.jar程序,执行命令:“nohup java -jar campuslifeassistant-0.0.1-SNAPSHOT.jar &”——(不挂断运行命令,当ssh窗口或云服务器账户退出或终端关闭时,程序仍然运行)

        说明:

        ——执行“nohup”命令时,SpringBoot启动全部信息,默认存入nohup.out的文件中,支持指定存入文件。

        ——执行“nohup”命令时,指定存入文件:“ nohup java -jar java -jar campuslifeassistant-0.0.1-SNAPSHOT.jar & >custom_out.txt & ”,SpringBoot启动全部信息,存入存储在custom_out.txt的文件中,这里面的内容会忽略掉,还是自动添加到nohup.out文件中

        ——


        (6)杀死进程:关闭nohup后台持续运行.jar程序:先使用“ jobs -l ”查看运行的后台进程,查询出 “ 进程号 Running ”,使用“ kill -9  进程号 ”,即可杀死运行中进程的.jar程序。


         (7)打开Google浏览器,URL地址栏输入测试httpshttps://域名


9.总结

仅自己学习记录,如有错误,敬请谅解~,谢谢~~~ 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电竞丶小松哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值