springboot使用在阿里云申请的免费SSL证书配置https

首先在阿里云购买一个免费的证书
在这里插入图片描述
在这里插入图片描述
买完之后我们在证书列表界面选择证书–>>申请
在这里插入图片描述
绑定好自己的域名就完成了.
申请成功之后,下载证书,因为使用的springboot所以选择下载tomcat的证书.
在这里插入图片描述
接下就建立一个springboot的项目吧.
将下载好的证书文件放到工程的根目录.就是这个pfx文件
在这里插入图片描述
弄好之后我们去修改springboot的配置文件,这里一定要注意,配置文件里面写的配置一定要跟证书里面的一样,否则会在启动时提示port端口号被占用,其实并没有被占用,被这个问题折腾了好久
配置如下:

#端口号
server.port=443
#证书文件的名称
server.ssl.key-store=2629870csdnonline.pfx
#证书的名称,一定要与证书信息匹配
server.ssl.key-alias=alias
#开启SSL
server.ssl.enabled=true
#密码
server.ssl.key-store-password=此处填写密码
#证书类型
server.ssl.key-store-type=pkcs12

别名一定要填写正确,笔者测试别名可以不用写,但是既然有这个配置我们还是写上吧,我们可以利用java自带的工具查看证书的一些信息,打开控制台输入一下信息

keytool -list -v -keystore 2629870csdnonline.pfx -storepass 证书密码

回车之后我们可以看到很多信息,以下指示部分我们需要在配置里面写的信息

密钥库类型: PKCS12
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: alias
创建日期: 2019年8月9日
条目类型: PrivateKeyEntry
证书链长度: 2

看到秘钥库类型和别名了吗?我们一次填写在配置文件的server.ssl.key-store-type和server.ssl.key-alias处即可

接下来是java代码,首先拦截所有请求

 @Bean
        public Connector connector(){
            Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
            connector.setScheme("http");
            connector.setPort(80);
            connector.setSecure(false);
            connector.setRedirectPort(443);
            return connector;
        }
    
        @Bean
        public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector){
            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(connector);
            return tomcat;
        }
 再也一个简单的测试接口

         @RequestMapping("/test")
         public String test(){
             return "成功!";
         }

最后打好jar包放到服务器上运行即可,注意一定要把证书文件放到jar包同目录下,否则会报端口被占用,其实并没有,嘿嘿

最后结果就是这个样子的,浏览器不会再提示不安全网站
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值