在 Spring Boot 应用程序中配置 HTTPS 访问方式可以根据你是否拥有由受信任的证书颁发机构(CA)签发的证书来分为两种情况:使用自签名证书和使用 CA 签发的证书。下面我将分别介绍这两种情况的配置方法:
使用自签名证书
如果你还没有有效的 SSL/TLS 证书,可以选择生成一个自签名证书。这种证书不由 CA 签发,适用于测试和开发环境。
-
生成自签名证书: 使用
keytool
生成自签名证书和密钥库(.jks
或.p12
):keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -keystore mykeystore.jks -validity 365 -storepass [密钥库密码] -keypass [密钥密码]
-
配置 Spring Boot: 在
application.properties
或application.yml
中配置 SSL:application.yml
示例:文章来源:https://www.toymoban.com/news/detail-809052.htmlserver: port: 8443 ssl: key-store: classpath:mykeystore.jks key-store-password: [密钥库密码] keyStoreType: JKS keyAlias: myalias
将密钥库放置在资源目录: 将
mykeystore.jks
文件放在项目的src/main/resources
目录下。
使用 CA 签发的证书
如果你选择从 CA 获取证书,步骤会稍有不同。
-
从 CA 获取证书:
- 生成 CSR(证书签名请求)并提交给 CA。
- 完成域名验证并从 CA 获取证书。
-
将证书转换为 KeyStore: 如果 CA 提供的证书不是在 KeyStore 格式,你需要将其转换为
.jks
或.p12
格式。使用openssl
可以完成这个转换。 -
配置 Spring Boot: 和使用自签名证书时的配置类似,但密钥库的路径和密码将对应于从 CA 获得的证书。
application.yml
示例:server: port: 8443 ssl: key-store: classpath:keystore.p12 key-store-password: [密钥库密码] keyStoreType: PKCS12 keyAlias: myalias
-
将密钥库放置在资源目录: 将转换后的密钥库文件放在
src/main/resources
目录下。文章来源地址https://www.toymoban.com/news/detail-809052.html
共同步骤
- 重启应用:重启 Spring Boot 应用以应用这些配置。
- 测试 HTTPS 连接:确保应用程序现在可以通过 HTTPS 正确访问。
注意事项
- 自签名证书不适用于生产环境,因为它们不被用户浏览器信任。
- 使用 CA 签发的证书适用于生产环境,可以提供更高的安全性和用户信任度。
- 保护你的密钥库和私钥文件,不要公开它们。
- 对于生产环境,你可能还需要考虑其他安全措施,如配置 HTTP 到 HTTPS 的重定向、启用 HSTS(HTTP Strict Transport Security)等。
到了这里,关于Spring Boot应用程序如何配置 HTTPS 访问方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!