使用SpringBoot配置https(SSL证书)
程序员文章站
2022-03-18 21:16:10
目录springboot配置https(ssl证书)仅需三步1.把tomcat目录里面的.jks文件2.配置application.yml3.接下来是重定向springboot 改造成https访问1...
springboot配置https(ssl证书)
最近在做微信小程序,https是必须条件
仅需三步
springboot2.x版本
对比一下这个小锁头是不是莫名有点好看?
嘤为很久以前就备案有域名,就直接申请了ssl证书,几分钟就下来了
1.把tomcat目录里面的.jks文件
复制到项目里面(注意路径)
2.配置application.yml
ssl: key-store: classpath:server.jks key-store-password: 申请时设置的密码 keystoretype: jks
3.接下来是重定向
在启动类底下添加;(把指定的http8080端口重定向到https8888)
@bean public servletwebserverfactory servletcontainer() { tomcatservletwebserverfactory tomcat = new tomcatservletwebserverfactory(); tomcat.addadditionaltomcatconnectors(createhttpconnector()); return tomcat; } private connector createhttpconnector() { connector connector = new connector("org.apache.coyote.http11.http11nioprotocol"); //同时启用http(8080)、https(8443)两个端口 connector.setscheme("http"); connector.setsecure(false); connector.setport(8080); connector.setredirectport(443); return connector; }
ok
springboot 改造成https访问
springboot https改造
1.生成密钥证书
生成命令:keytool -genkey -alias tomcat -storetype pkcs12 -keyalg rsa -keysize 2048 -keystore keystore.p12 -validity 3650
(1)关键字解释:
alias
:密钥别名
storetype
:指定密钥仓库类型
keyalg
:生证书的算法名称,rsa是一种非对称加密算法
keysize
:证书大小
keystore
:生成的证书文件的存储路径
validity
:证书的有效期
(2)生成证书注意:
在输入证书生成命令之后,会提示输入:
- 密钥库口令:证书密码,在后面的项目中配置证书时用到
- 姓氏:一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
- 组织单位:证书使用单位信息,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
- 组织单位名称:证书使用单位名称,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
- 所在的城市或区域名称:浏览器中查看证书信息时会显示。
- 所在的省/市/自治区名称:浏览器中查看证书信息时会显示。
- 单位的双字母国家/地区代码:国家或地区编码,浏览器中查看证书信息时会显示。
2.将生成的密钥证书拷贝到项目中的resource中
也可以不拷贝到项目中,后面配置路径时配置密钥证书的绝对路径即可
3.修改项目配置文件application.properties
增加如下配置项:
-
server.ssl.key-store=classpath:keystore.p12
(密钥文件路径,也可以配置绝对路径) -
server.ssl.key-store-password=aqjcpt
(密钥生成时输入的密钥库口令) -
server.ssl.keystoretype=pkcs12
(密钥类型,与密钥生成命令一致) -
server.ssl.keyalias=tomcat
(密钥别名,与密钥生成命令一致)
4.启动项目,直接访问项目即可
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。