spring boot支持https请求(建议收藏)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


前言

博主个人社区开发与算法学习社区

博主个人主页Killing Vibe的博客

欢迎大家加入一起交流学习~~

众所周知http是不安全的协议那么要使服务器支持https该如何在spring项目中配置呢

一、借助keytools

正常来说证书都是CA机构颁发的但是我们也可以自己借助 Java 自带的 JDK 管理工具 keytool 来生成一个免费的 https 证书只不过这种证书不被操作系统和浏览器信任罢了。

这个keytools工具在哪呢

就在JDK的安装目录下的bin包下面。

在这里插入图片描述

二、详细步骤

  • 1.在这个bin目录下直接输入cmd打开命令行窗口
    在这里插入图片描述

  • 2.输入如下命令

keytool -genkey -alias anyname -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore D:\httpsKey.p12 -validity 3650

命令含义如下

keytool: 表示keytool工具
genkey表示要创建一个新的密钥。
alias表示 keystore 的别名。anyname 都可以。
storetype表示密钥的仓库类型存储格式是PKCS12.
keyalg表示使用的加密算法是 RSA 一种非对称加密算法。
keysize表示密钥的长度。这里是2048.
keystore表示生成的证书文件存放位置。 这里是D:\httpsKey.p12 有时候放C盘可能有权限问题
validity表示证书的有效时间单位为天。这里是3650天也就是十年。

  • 3.然后跟着如下图所示一个一个输入就行。

密码以123456为例子
在这里插入图片描述

  • 4.然后我们就能在D盘看到一个httpskey.p12证书文件
  • 在这里插入图片描述

三、配置spring项目支持https

在我们的项目中找到application.properties 文件
在这里插入图片描述

然后直接输入

server.ssl.key-store=D:\httpsKey.p12
server.ssl.key-store-password=123456
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=anyname

在这里插入图片描述

然后运行服务器就可以了。

此时浏览器地址栏中输入 http://127.0.0.1:8080/ 会导致错误请求
在这里插入图片描述

咱们只能用https来访问,地址栏输入https://127.0.0.1:8080/会显示如下

在这里插入图片描述
这是因为我们自己生成的 https 证书不被浏览器认可实际项目中只需要更换一个被浏览器认可的 https 证书即可我们打开高级接收并继续就可以了。

由于考虑到 Spring Boot 不支持同时启动 HTTP 和 HTTPS 为了解决这个问题我们这里可以配置一个请求转发当用户发起 HTTP 调用时自动转发到 HTTPS 上

参考文章如下

请求转发

总结

以上就是spring boot支持https请求的详细步骤了和一些教程不一样但是其实都是差不多的我这里省去了不少步骤更方便快捷~~ 有帮助的话可以点赞收藏有什么问题私信博主感谢支持。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring