Ssl

Spring Boot 3.2.0 中的 SSL 热重载功能

Spring Boot 3.2.0 为嵌入式 Web 服务器添加了热加载 SSL 证书和密钥的功能。这意味着无需重启应用就能替换 SSL 配置。Tomcat 和 Netty 嵌入式 Web 服务器支持热重载。 首先,使用 OpenSSL 创建 SSL 私钥和匹配证书: mkdir certs cd certs openssl req -x509 -subj "/CN=demo-cert-1" -keyout demo.key -out demo.crt -sha256 -days 365 -nodes -newkey ed25519 这会创建一个私钥,存储在 certs/demo.key 中,和一个与之匹配的(自签名)证书,通用名称为 demo-cert-1,存储在 certs/demo.crt 中。 现在创建一个新的 Spring Boot 3.2.0 应用,添加 Spring Web 依赖,默认情况下使用 Tomcat Web 服务器。你可以通过 start.springboot.io 快速创建。 在 application.yaml 配置文件中,添加如下配置: spring.ssl.bundle.pem: demo: reload-on-update: true keystore: certificate: "certs/demo.crt" private-key: "certs/demo.key" 这配置了一个 SSL Bundle,名称为 demo,并配置上文生成的证书和私钥。