当前位置:主页 > java教程 > springboot https请求

springboot支持https请求的实现

发布:2023-04-24 10:10:01 59


为网友们分享了相关的编程文章,网友吴文星根据主题投稿了本篇教程内容,涉及到springboot、https请求、springboot、https、springboot https请求相关内容,已被452网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

springboot https请求

前言

众所周知,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请求的详细步骤了,和一些教程不一样,但是其实都是差不多的,我这里省去了不少步骤,更方便快捷~~更多相关springboot https请求内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

  • springboot使用alibaba的druid数据库连接池错误的问题及解决

    发布:2023-03-22

    这篇文章主要介绍了springboot使用alibaba的druid数据库连接池错误的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • 使用docker部署springboot项目

    发布:2020-02-14

    这篇文章主要介绍了详解springboot项目docker部署实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • SpringBoot项目集成日志的方法步骤

    发布:2019-06-18

    这篇文章主要介绍了SpringBoot项目集成日志的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • SpringBoot整合多个Mq服务做法详解

    发布:2023-04-03

    SpringBoot整合rabbitmq很容易,但是整合的目的是为了使用,那要使用rabbitmq就要对其有一定的了解,不然容易整成一团浆糊。因为说到底,SpringBoot只是在封装rabbitmq的API,让其更容易使用而已,废话不多说,让我们一起整它


  • 一篇文章彻底弄懂SpringBoot项目jdk版本及依赖不兼容问题

    发布:2023-04-22

    这篇文章主要给大家介绍了关于彻底弄懂SpringBoot项目jdk版本及依赖不兼容问题的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • SpringBoot前后端json数据交互的全过程记录

    SpringBoot前后端json数据交互的全过程记录

    发布:2022-09-23

    给网友朋友们带来一篇关于SpringBoot的教程,现在大多数互联网项目都是采用前后端分离的方式开发,下面这篇文章主要给大家介绍了关于SpringBoot前后端json数据交互的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下


  • SpringBoot与Spring之间的对比

    发布:2023-03-26

    这篇文章主要介绍了SpringBoot与Spring之间的对比,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • SpringBoot实现自定义启动器的示例详解

    发布:2023-03-08

    虽然Spring官方给我们提供了很多的启动器供我们使用,但有时候我们也会遇到某些特殊场景,这些启动器满足不了。这个时候就需要自定义一个启动器供我们使用,本文为大家介绍了SpringBoot实现自定义启动器的方法,希望对大家有所帮助


网友讨论