springboot支持https请求的实现

 更新时间:2023年01月19日 09:20:53   作者:Killing Vibe  
本文主要介绍了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请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实战项目 健身管理系统

    Java实战项目 健身管理系统

    本文是一个Java语言编写的实战项目,是一个健身管理系统,主要用到了ssm+springboot等技术,技术含量笔记高,感兴趣的童鞋跟着小编往下看吧
    2021-09-09
  • 老生常谈反射之Class类的使用(必看篇)

    老生常谈反射之Class类的使用(必看篇)

    下面小编就为大家带一篇老生常谈反射之Class类的使用(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 关于.java编译成.class 与 .class反编译成.java问题

    关于.java编译成.class 与 .class反编译成.java问题

    这篇文章主要介绍了关于.java编译成.class 与 .class反编译成.java问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Eclipse插件开发实现控制台输出信息的方法

    Eclipse插件开发实现控制台输出信息的方法

    今天小编就为大家分享一篇关于Eclipse插件开发实现控制台输出信息的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java完美实现2048小游戏

    Java完美实现2048小游戏

    本文给大家分享的是一则根据网友的代码改编的2048小游戏的源码,个人认为已经非常完美了,推荐给大家,有需要的小伙伴可以参考下。
    2015-03-03
  • SSM框架把日志信息保存到数据库过程详解

    SSM框架把日志信息保存到数据库过程详解

    这篇文章主要介绍了SSM框架把日志信息保存到数据库过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • java 对象数组排序

    java 对象数组排序

    当遇到数组排序时,我们经常会使用学过的几种排序方法,而java 本身提供了Arrays.sort,在数据元素较少或者对效率要求不是抬高时,直接使用Arrays.sort来的更容易。查看一下源码后Arrays.sort 本身采用的是快速排序。
    2015-04-04
  • 详解Spring Cloud Hystrix断路器实现容错和降级

    详解Spring Cloud Hystrix断路器实现容错和降级

    本篇文章主要介绍了详解Spring Cloud Hystrix断路器实现容错和降级,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • SpringBoot版本升级容易遇到的一些问题

    SpringBoot版本升级容易遇到的一些问题

    由于项目需求,需要将nacos 1.4.6版本升级到2.x版本,由此引发的springboot、springcloud、springcloud Alibaba一系列版本变更,本文给大家总结一下SpringBoot版本升级容易遇到的一些问题,需要的朋友可以参考下
    2023-12-12
  • Springboot详解底层启动过程

    Springboot详解底层启动过程

    这篇文章主要介绍了SpringBoot启动过程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论