前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring boot支持https请求(建议收藏)

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

作者头像
VIBE
发布2023-02-02 15:15:54
1.5K0
发布2023-02-02 15:15:54
举报
文章被收录于专栏:算法与开发

前言

博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~

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

一、借助keytools

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

这个keytools工具在哪呢?

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

在这里插入图片描述
在这里插入图片描述

二、详细步骤

  • 1.在这个bin目录下直接输入cmd,打开命令行窗口:
在这里插入图片描述
在这里插入图片描述
  • 2.输入如下命令:
代码语言:javascript
复制
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请求的详细步骤了,和一些教程不一样,但是其实都是差不多的,我这里省去了不少步骤,更方便快捷~~ 有帮助的话,可以点赞收藏,有什么问题私信博主,感谢支持。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、借助keytools
  • 二、详细步骤
  • 三、配置spring项目支持https
  • 总结
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档