Spring Boot 应用程序配置 SSL/TLS
在 Spring Boot 应用程序中配置 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)可以确保数据在客户端和服务器之间传输时的安全性。SSL/TLS 通过加密通信来保护数据的机密性和完整性。
生成自签名证书
在开发环境中,通常使用自签名证书来配置 SSL。以下是生成自签名证书的步骤:
1、使用 JDK 的 keytool 工具生成证书:
keytool -genkeypair -alias myapp -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore myapp.p12 -validity 3650
这条命令会生成一个名为 myapp.p12
的 PKCS12
格式的密钥库文件,有效期为 10 年(3650 天)。
2、设置密码: 在生成过程中,keytool 会提示你输入密钥库密码和密钥密码。请记住这些密码,因为稍后在 Spring Boot 配置中会用到。
配置 Spring Boot 应用程序
在 Spring Boot 应用程序中配置 SSL 需要修改 application.properties
或 application.yml
文件。
使用 application.properties
# HTTPS通常使用443端口,但8443是常用的测试端口
server.port=8443
server.ssl.key-store=classpath:myapp.p12
server.ssl.key-store-password=your_keystore_password
server.ssl.key-password=your_key_password
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=myapp
使用 application.yml
server:
# HTTPS通常使用443端口,但8443是常用的测试端口
port: 8443
ssl:
key-store: classpath:myapp.p12
key-store-password: your_keystore_password
key-password: your_key_password
key-store-type: PKCS12
key-alias: myapp
验证 SSL 配置
启动 Spring Boot 应用程序后,可以通过以下方式验证 SSL 配置是否成功:
- 1、浏览器访问: 打开浏览器并访问 https://localhost:8443 。由于使用的是自签名证书,浏览器会提示证书不受信任,但你可以继续访问。
- 2、使用
curl
命令:
使用curl -k https://localhost:8443
-k
选项可以忽略证书验证错误。
生产环境中的 SSL 配置
在生产环境中,建议使用由受信任的证书颁发机构(CA)签发的证书。以下是配置步骤:
- 1、获取证书: 从受信任的 CA 获取 SSL 证书。
- 2、配置证书: 将证书文件(通常是
.crt
或.pem
格式)和私钥文件(通常是.key
格式)放置在 Spring Boot 应用程序的资源目录中。 - 3、更新配置文件: 根据证书文件的格式和位置,更新
application.properties
或application.yml
文件。
作者:Jeebiz 创建时间:2024-11-05 12:46
最后编辑:Jeebiz 更新时间:2024-11-05 12:46
最后编辑:Jeebiz 更新时间:2024-11-05 12:46