大家好,我是欧阳方超,微信公众号同名。
1 概述
一般开启https访问都是通过nginx进行的,但在SpringBoot中也可以配置,本篇就介绍一下如何通过自签名证书为接口开启https访问。
2 使用自签名证书
2.1 生成证书
可以使用JDK自带的keytool命令来生成密钥库和自签名证书,例如,在命令行中执行以下命令:
C:\Users\Administrator> keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 3650
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: wangshuang
您的组织单位名称是什么?
[Unknown]: futuretech
您的组织名称是什么?
[Unknown]: futuretech
您所在的城市或区域名称是什么?
[Unknown]: beijing
您所在的省/市/自治区名称是什么?
[Unknown]: beijing
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=wangshuang, OU=futuretech, O=futuretech, L=beijing, ST=beijing, C=CN是否正确?
[否]: 是
这个命令会生成一个名为keystore.p12的密钥库文件,有效期为 3650 天。在执行命令过程中,需要输入密钥库密码等相关信息。
2.2 配置Spring Boot应用
将生成的keystore.p12文件放在项目的resources目录下,并在application.yml文件中添加以下配置:
server:
port: 8080
ssl:
key-store: classpath:keystore.p12
key-store-type: PKCS12
key-store-password: 123456
key-alias: tomcat
2.3 开启应用
当启动 Spring Boot 应用时,就会启用 https,应用就可以通过 https 协议来访问了。
3 总结
本文介绍在 SpringBoot 中通过自签名证书开启 https 访问。先利用 JDK 的 keytool 命令生成密钥库与自签名证书,再将证书文件置于项目 resources 目录,于 application.yml 中配置相关参数,最后启动应用即可启用 https 访问。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。