SpringBoot 配置SSL证书,同时支持 http 与 https

导读:本篇文章讲解 SpringBoot 配置SSL证书,同时支持 http 与 https,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言

废话就不多讲了,直接开始。

我用的是阿里云免费版 DV SSL 证书,流程中需要做域名验证,最后下载证书。

  1. 阿里云,云盾免费证书申请,验证,下载证书(Tomcat)。
  2. 配置文件支持 HTTPS
  3. 配置类支持 HTTP

证书获取

阿里云证书申网上多的是,而且貌似也没有啥困难。

在这里插入图片描述

申请成功后下载证书:

在这里插入图片描述

SpringBoot 使用的是内置 Tomcat , 所以证书类型需要选择 Tomcat

下载后会有一个 pfx 文件 和一个密钥文件。

如果前置了 Nginx ,也需要下载 Nginx 证书且自行配置。

HTTPS 配置文件

server 下有三个配置参数如下,HTTPS 默认使用的端口为 server.port

server.httpPort 是为 HTTP 请求准备的,后面再使用。

server:
  httpPort: 52312
  port: 52311
  ssl:
    key-store: classpath:the.name.com.pfx
    key-store-password: 123456
    key-store-type: PKCS12

pfx 文件 复制到 resources 文件夹下,复制密钥。

如果只需要 HTTPS 请求,到这一步就可以了。一般来说,也并不需要配置2个端口来监听请求。

证书类型的话,看网上大佬这么总结的:

key-store-type类型 对应文件类型
PKCS12 带有私钥的证书,包含了公钥和私钥的二进制格式的证书形式,以 pfx 作为证书文件后缀名。
JKS Keystore,用来存放服务端证书,可以看成一个放key的库,key就是公钥,私钥,数字签名等组成的一个信息。一般都是 JDK 自带的 keytool 生成。

HTTP 配置类

HttpConfig 配置 HTTP 连接,因为默认端口配置文件支持了 HTTPS,所以使用配置类来支持 HTTP。

注入上面配置的 HTTP 端口。

@Configuration
public class HttpConfig {

    @Value("${server.httpPort}")
    private int httpPort;

    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        // 添加http
        tomcat.addAdditionalTomcatConnectors(createStandardConnector());
        return tomcat;
    }

    private Connector createStandardConnector() {
        //连接协议
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(httpPort);
        return connector;
    }

}

启动后:

[restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : 
Tomcat started on port(s): 52311 (https) 52312 (http) with context path ''

可以发现,存在两个监听端口。

参考文章

https://blog.csdn.net/qq_38288606/article/details/89478353

https://blog.csdn.net/weixin_41917987/article/details/80988197

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/10304.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!