首先申请一个证书,在阿里云可以免费申请一年的。本地创建的请百度
下面是一些ssl证书的操作指令
在当前目录查看ssl证书内容
keytool -list -v -keystore XXX
修改证书密码
keytool -storepasswd -keystore XXXXXXX
修改别名
keytool -changealias -keystore XXX -alias XXX -destalias XXX
在修改别名为自己想要的别名后将ssl证书复制到springboot项目中,本人是在resources目录下新建了个证书目录。
接下来是配置https访问的相关配置
#https
#改为443 可不带端口号直接访问https 修改为80 可不带端口号直接访问http
server.port=8443 //访问端口号
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath: //证书位置
server.ssl.key-store-password=
server.ssl.key-alias= //这里是前面配置的别名
server.ssl.protocol=TLS
配置完后就能使用https进行访问, 有时刚放进证书运行可能会显示找不到该路径,我的解决办法是在项目中将证书文件重命名在启动就好了。
接下来配置将http请求转接到https上我们需要在启动类中配置上以下代码就能将通过8080http访问的请求转到https上了:
@Bean//配置自动将8080 http转换成https
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createStandardConnector());
return tomcat;
}
private Connector createStandardConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8080);
return connector;
}