温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringBoot如何添加SSL证书

发布时间:2021-05-14 14:33:38 来源:亿速云 阅读:396 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关SpringBoot如何添加SSL证书,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

 一、先进行域名的购买

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

SpringBoot如何添加SSL证书

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

二、申请SSL证书

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

SpringBoot如何添加SSL证书

找到这里

SpringBoot如何添加SSL证书

SpringBoot如何添加SSL证书

提交获取

然后进行证书的申请

SpringBoot如何添加SSL证书

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

SpringBoot如何添加SSL证书

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

SpringBoot如何添加SSL证书

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

SpringBoot如何添加SSL证书

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

SpringBoot如何添加SSL证书

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

三、转换

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

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

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

SpringBoot如何添加SSL证书

输入两次一样的密码也就是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是什么

springboot一种全新的编程规范,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,SpringBoot也是一个服务于框架的框架,服务范围是简化配置文件。

关于“SpringBoot如何添加SSL证书”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI