Springboot 配置 https


共计 1067 个字符,预计需要花费 3 分钟才能阅读完成。

前言

Spring Boot 本身是一个 Java 应用程序框架,它可以内嵌一个嵌入式的 Web 服务器(如 Tomcat、Jetty 等),用于处理客户端请求。它默认使用的是 Java Keystore(JKS)格式的证书文件,用于配置内嵌的 Web 服务器的 SSL/TLS 加密。

JKS 是一种密钥库格式,用于在 Java 平台上存储密钥和证书,它可以包含一个或多个密钥对以及与这些密钥对关联的数字证书链。

1. 生成证书

生成证书需要用到 keytool 命令,需要先安装 java

为了偷懒,这里选择使用一条命令生成,而不是交互式生成证书文件。

keytool -genkey -alias mycert -keyalg RSA -keystore ./server.jks -keysize 2048 -validity 3650 -dname "CN=unipower, OU=unipower" -storepass 123456 -keypass 123456 -ext san=dns:localhost,ip:127.0.0.1
# 交互式生成
# keytool -genkey -alias mycert -keyalg RSA -keystore ./server.keystore

-ext 指添加扩展信息,san 是 Subject Alternative Name,即使用者可选名称。

如需 jks 包含多个证书和密钥。

keytool -genkey -alias mycert2 -keyalg RSA -keystore ./server.jks -keysize 2048 -validity 3650 -dname "CN=unipower2, OU=unipower2" -storepass 123456 -keypass 123456 -ext san=dns:localhost,ip:127.0.0.1

查看证书运行如下命令,输入密码即可。

keytool -list -v -keystore  ./server.jks -alias mycert -storepass 123456

2. 配置https

将生成的 server.jks 文件放在 springboot 项目的 resoucescert 目录下。

然后在配置文件中配置如下内容:

server:
  ssl:
    enabled: true
    protocol: TLS
    key-store: classpath:cert/server.jks
    # 需要和生成证书时的别名一致
    key-alias: mycert
    # 生成证书时指定KeyStore的密码 -storepass
    key-store-password: 123456
    key-store-type: JKS

提醒:本文发布于463天前,文中所关联的信息可能已发生改变,请知悉!

Tips:清朝云网络工作室

阅读剩余
THE END