SpringBoot添加SSL证书的方法

 更新时间:2021年05月14日 10:36:34   作者:Daylight629  
HTTPS 实际上就是 HTTP + SSL,使我们的网站更加安全,地址栏上会有一把小锁。那么如何在SpringBoot添加SSL证书,下面就一起来了解一下

 一、先进行域名的购买

域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云

在这里插入图片描述

记录值这里填你的服务器的IP 地址

二、申请SSL证书

阿里云提供免费的SSL证书,一个人可以申请20个

在这里插入图片描述

找到这里

在这里插入图片描述

在这里插入图片描述

提交获取

然后进行证书的申请

在这里插入图片描述

填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析

在这里插入图片描述

我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加

在这里插入图片描述

记录值改为TXT,主机记录跟记录值,直接复制给的就行

在这里插入图片描述

显示这样说明成功
然后根据自己的需要选择证书的下载

在这里插入图片描述

这里我用的是SpringBoot项目里面内置了tomcat所以下载了tomcat的
下载得到一个压缩包,解压后得到一个密钥跟密码(txt里面的是密码)

三、转换

找到jdk的安装目录进入bin,用管理员身份运行命令行窗口
输入

keytool -importkeystore -srckeystore latteitcjz.pfx -destkeystore latte.jks -srcstoretype PKCS12 -deststoretype JKS

#latteitcjz.pfx为你下载的证书的目录和名字
#新生成的名字latte.jks

在这里插入图片描述

输入两次一样的密码也就是txt文件里面的密码
然后会生成一个别名记得别名的名字

四、配置项目

将上面生成的latte.jks复制到resources目录下与application.yml同级,然后进行application的配置

server:
  ssl:
      key-store: classpath:latte.jks
      #这里是配置你刚才部署在resources下的".jks"文件
      key-password: latte   #这里是你解压后的"jks-password.txt"文件中的密码
      key-store-type: JKS
      key-alias: alias
      key-store-password: latte  #注意一定配这个密码,不要只配上面的,不然会报keystore password was incorrect
      #密钥口令和密钥库口令一致
  port: 443
       
http:
  port: 90

在启动类,添加以下的代码

 @Bean
    public ServletWebServerFactory 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(redirectConnector()); return tomcat;

    }

    @Bean
    public Connector redirectConnector() {
        Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
        connector.setScheme("http");
		
		//监听90端口
        connector.setPort(90);

        connector.setSecure(false);
		//重定向与443
		//一个服务器只有一个443端口,注意d
        connector.setRedirectPort(443);

        return connector;

启动看看,如果报443端口占用问题,可能是你电脑安装有虚拟机,虚拟机vm那个占用了

打开命令行窗口

netstat -aon|findstr “443” ,

看有没有占用的,如果有

kill它: tasklist |findstr “进程号”

如果杀不掉,打卡任务管理器找到该进程号,结束任务,没有问题后,上传服务器测试就行

到此这篇关于SpringBoot添加SSL证书的方法的文章就介绍到这了,更多相关SpringBoot SSL证书内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot自定义MessageConverter与内容协商管理器contentNegotiationManager详解

    SpringBoot自定义MessageConverter与内容协商管理器contentNegotiationManag

    这篇文章主要介绍了SpringBoot自定义MessageConverter与内容协商管理器contentNegotiationManager的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • mybatis简介与配置_动力节点Java学院整理

    mybatis简介与配置_动力节点Java学院整理

    这篇文章主要介绍了mybatis简介与配置,介绍了MyBatis+Spring+MySql简单配置,有兴趣的可以了解一下
    2017-09-09
  • 解读List list=new ArrayList()是怎么回事

    解读List list=new ArrayList()是怎么回事

    这篇文章主要介绍了解读List list=new ArrayList()是怎么回事,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Spring Boot中自动执行sql脚本的方法实例

    Spring Boot中自动执行sql脚本的方法实例

    在SpringBoot的架构中,DataSourceInitializer类可以在项目启动后初始化数据,我们可以通过自动执行自定义sql脚本初始化数据,下面这篇文章主要给大家介绍了关于Spring Boot中自动执行sql脚本的相关资料,需要的朋友可以参考下
    2022-01-01
  • java 字符串的拼接的实现实例

    java 字符串的拼接的实现实例

    这篇文章主要介绍了java 字符串的拼接的实现实例的相关资料,希望通过本文大家能掌握字符拼接的实现,需要的朋友可以参考下
    2017-09-09
  • SpringBoot整合RabbitMQ示例详解

    SpringBoot整合RabbitMQ示例详解

    这篇文章主要介绍了SpringBoot整合RabbitMQ示例详解,RabbitMQ是一个实现了AMQP高级消息队列协议的消息队列服务,用Erlang语言。是面向消息的中间件,需要的朋友可以参考下
    2023-07-07
  • Java基础之反射详解

    Java基础之反射详解

    这篇文章主要介绍了教你怎么通过IDEA设置堆内存空间,文中有非常详细的代码示例,对正在使用IDEA的小伙伴们很有帮助哟,需要的朋友可以参考下
    2021-05-05
  • JavaWeb项目部署到服务器详细步骤详解

    JavaWeb项目部署到服务器详细步骤详解

    这篇文章主要介绍了JavaWeb项目如何部署到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Java毕业设计实战之学生管理系统的实现

    Java毕业设计实战之学生管理系统的实现

    只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+Springboot+Maven+mybatis+Vue+Mysql实现学生管理系统,大家可以在过程中查缺补漏,提升水平
    2022-03-03
  • Mybatis Select Count(*)的返回值类型介绍

    Mybatis Select Count(*)的返回值类型介绍

    这篇文章主要介绍了Mybatis Select Count(*)的返回值类型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论