由于HTTPS具有良好的安全性,所以在开发中得到了越来越广泛的应用。jdk中提供了一个JAVA数字证书管理工具keytool。在\jdk\bin目录下,您可以通过该工具自行生成数字证书。生成命令如下:keytool-genkey-aliastomcathttps-keyalgRSA-keysize2048-keystorelmc22-validity365注意:该命令要在bin目录下执行。命令解释:genkey:表示创建一个新的密钥。-alias:keystone的别名。-keyalg:表示使用的加密算法为RSA,一种非对称加密算法。-keysize:表示密钥的长度。-keystore:表示生成密钥的存放位置。-validity:表示密钥的有效时间,以天为单位。控制台执行命令后,会在bin目录下生成一个名为lmc22的文件,将此文件复制到项目根目录下,然后在application.properties中配置如下:server.ssl.key-store=lmc22server。ssl.key-alias=tomcathttpsserver.ssl.key-store-password=123456属性说明:key-store:表示密钥文件名key-alias:表示密钥别名key-store-password:在控制台执行后输入密码进入流程配置好,启动项目,在浏览器输入url查看结果(此时url的协议为https,即url为https://主机号:端口号/**)。此时,如果通过HTTP方式访问该接口,则会访问失败。这是因为SpringBoot不支持在配置中同时启用HTTP和HTTPS。这时候可以配置请求重定向,将HTTP请求重定向到HTTPS请求。配置方法如下:这里先配置一个TomcatServletWebServerFactory,然后在Tomcat中添加一个Constraint(监听8080端口),将请求转发到8081。pom.xml需要的依赖如下:配置完成后,在浏览器中输入http://localhost:8080/,会自动重定向到https://localhost:8081/。
