在 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
示例:server: port: 8443 ssl: key-store: classpath:mykeystore.jks key-store-password: [密钥库密码] keyStoreType: JKS keyA服务器托管网lias: 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
目录下。
共同步骤
- 重启应用:重启 Spring Boot 应用以应用这些配置。
- 测试 HTTPS 连接:确保应用程序现在可以通过 HTTPS 正确访问。
注意事项
- 自签名证书不适用于生产环境,因为它们不被用户浏览器信任。
- 使用 CA 签发的证书适用于生产环境,可以提供更高的安全性和用户信任度。
- 保护你的密钥库和私钥文件,不要公开它们。
- 对于生产环境,你可能还需要考虑其他安全措施,如配置 HTTP 到 HTTPS 的重定向、启用 HSTS(HTTP Strict Transport Security)等。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: PieCloudDB Database 3.0 正式发布丨数仓虚拟化技术为数据要素流转注入创新动能
3月16日,北京源创会 —— “数据库,2024 开炫” 3月14日,拓数派2024年度战略暨新产品发布会在上海国际会议中心圆满落幕。本次大会以「数仓虚拟化 流转数据要素」为主题,众多业内资深专家、合作伙伴济济一堂,共同探讨数据要素流转和数字技术创新等热点话题…