【开发细节】SpringBoot项目将接口从HTTP换为HTTPS

news2024/7/2 4:09:51

证书准备

首先需要生成一个 SSL 证书,可以使用 OpenSSL 工具或者自己的 CA 颁发机构来生成证书,这里就不赘述了。如果是测试阶段,也可以使用 self-signed certificate
直接使用jdk的keytool生成,具体操作方法如下:

  1. 使用管理员身份运行命令提示符
  2. 使用命令进入到jdk安装路径的bin文件夹下
  3. 随后使用命令:keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650生成密钥。

以上步骤如下图所示:
在这里插入图片描述
在这里插入图片描述
生成的证书如下:
在这里插入图片描述
把它粘贴到项目的classpath下即可使用。

项目配置

把证书文件移动到此:
在这里插入图片描述
而后在application.yml中进行一些配置:
注意key-store-password不要写成key-password了。

server:
  ssl:
    enabled: true #启用SSL
    key-store: classpath:keystore.p12 #文件位置
    key-store-password: root123 #密钥存储密码(即生成时要求输入两遍的那个的密钥库口令)
    key-store-type: PKCS12 #密钥存储类型

重启项目,启动成功即说明配置成功。
访问项目原来的swagger界面测试一下。
在这里插入图片描述
出现以上说明正确。
在前面加上前缀https://再试一次,可能会出现如下界面:
在这里插入图片描述
由于访问的是 HTTPS,浏览器会进行 SSL 验证,如果服务器没有配置合法的 SSL 证书,浏览器会给出安全警告。如果只是测试阶段,可以先信任自己的 SSL 证书,例如在 Chrome 中将证书添加到受信任的根证书颁发机构中。生产环境中,则需要购买合法的 SSL 证书。
此处我们是个人测试,故而点击详情直接访问即可。
在这里插入图片描述
成功进入swagger界面:
在这里插入图片描述
测试接口,发现已经成功放入HTTPS了:
在这里插入图片描述

前端怎么做?

前端访问 HTTPS 上的接口与 HTTP 上的接口是类似的,只需要将 URL 中的 http 改成 https。例如,如果原本访问的是 http://localhost:8080/api/user,修改为 https://localhost:8080/api/user 即可。

这里需要注意一个问题:HTTP默认端口是80,而HTTPS默认端口是443,建议指定端口,避免搞错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个好看美观的登录注册界面的实现

序言&#xff1a;之前介绍那个博客&#xff0c;然后自己搞了这个界面。最近有人和我要&#xff0c;把代码给大家贴出来&#xff0c;提供参考。 首先是这个界面哈 <!DOCTYPE html> <html lang"en"> <head><script src"../static/lib/jquer…

不走弯路!记一个Appium框架运行的实例

目录 前言&#xff1a; 一、框架环境安装 二、测试流程操作 1、安装APK 2、启动 3、服务参数配置 4、脚本录制操作 5、脚本编写 6、脚本执行 三、测试总结 前言&#xff1a; Appium是一个开源的自动化测试框架&#xff0c;用于移动应用程序的自动化测试。它支持在iOS和Andro…

python:使用Scikit-image库的slic函数分割遥感图像

作者:CSDN @ _养乐多_ 本文记录了使用Scikit-image库的skimage.segmentation模块中的slic函数,进行超像素分割的代码。 文章目录 一、slic函数详解二、代码一、slic函数详解 在Scikit-image库的skimage.segmentation模块中,slic函数用于进行超像素分割。该函数的参数含义如…

62、基于51单片机手机APP蓝牙调试助手控制四个LED灯的开关系统设计(程序+原理图+PCB源文件+Proteus仿真+外文文献翻译+元器件清单等)

方案选择 单片机的选择 方案一&#xff1a;AT89C52是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元…

CRM选型之CRM系统要不要自研

如今在外部激烈的竞争环境下&#xff0c;CRM因其具有有效管理客户资源&#xff0c;提升客户体验和满意度的能力&#xff0c;而逐渐成为了企业在运营中必不可收的一部分。然而&#xff0c;在引入CRM系统时&#xff0c;企业面临着选型难题&#xff1a;是自研还是购买第三方的CRM系…

Qt利用paintEvent绘制双Y轴坐标折线图

在项目中&#xff0c;根据需求需要开发双Y轴坐标折线图&#xff0c;但是由于它有多个图层&#xff0c;如果使用QChart绘制的话&#xff0c;达不到需求的要求&#xff0c;只能自己绘制&#xff0c;具体的利用translate()接口将坐标系统移动到界面的左下角(30, height() - 50)处&…

IDEA启动终端报错: Cannot open Local Terminal Failed to start ***

1.问题 打开IDEA后&#xff0c;启动终端发现终端报错没有办法正常使用&#xff0c;错误提示 Cannot open Local Terminal Failed to start [powershell.exe] in D:\vue_admin Error running process: CreateProcess failed. Code 2 See IDE log (Help | Show Log in Explorer…

开源创新,燃起未来的火花

尊敬的各位嘉宾、领导、专家、企业代表、优秀开发者和创新人才们&#xff1a; 在2023年6月11日至13日&#xff0c;开放原子全球开源峰会盛大召开&#xff0c;汇集了众多业界精英和开源领域的专家学者&#xff0c;为探索开源创新的辉煌未来共同助力。作为一名开源技术爱好者&am…

开放式耳机的优缺点有哪些?目前有什么开放式耳机推荐?

什么是开放式耳机&#xff1f; 从名字上理解就是开放样式的耳机&#xff0c;其实也确实如此&#xff0c;开放式耳机是不需要封闭耳道来传输声音&#xff0c;主要是通过耳骨振动传递或者声波震动耳膜&#xff0c;两者声音传递的方式都不用完全封闭耳道&#xff0c;可以让耳道对…

COMSOL导入图片几何模型-以二维多孔介质为例

建模教程 首先获取一张多孔介质图片&#xff0c;这里就以COMSOL官网教程图片为例 通过软件将png格式的图片转换为DXF格式文件&#xff0c;也就是AutoCAD支持的文件&#xff1a; 下一步打开COMSOL软件建立二维模型&#xff0c;导入事先准备好的dxf模型&#xff0c;需要注意导入…

C++中String的语法及常用接口的底层实现详解

在C语言中&#xff0c;我们知道处理字符串所用的类型是 char []或者char* 。字符串是以‘\0’结尾的。在C中&#xff0c;string 是一个标准库类&#xff08;class&#xff09;&#xff0c;用于处理字符串。它提供了一种更高级、更便捷的字符串操作方式&#xff0c;string 类提供…

mysql 开启binlog

1&#xff09;检查binlog功能是否有开启 mysql> show variables like log_bin; ---------------------- | Variable_name | Value | ---------------------- | log_bin | OFF | ---------------------- 1 row in set (0.00 sec) &#xff08;2&#xff09;如果显…

用视频制作gif动画的小窍门!知识分享

Gif动画图片是当下最为流行的一种图片格式&#xff0c;它的内容丰富画面生动&#xff0c;能够快速抓住人们的眼球。有非常好信息传递效果&#xff0c;但是很多小伙伴不知道这种gif动画怎么制作的。别担心&#xff0c;接下来小编就跟大家分享一下利用视频制作gif动画的小窍门&am…

Docker Compose资源限制

一、资源限制原因&#xff1a; 防止容器占用过多资源,影响其他容器或宿主机保证容器稳定运行,避免OOM等情况.OOM现象&#xff1a;根据优先机制kill掉宿主机上最高的进程从而来释放空间&#xff0c;只要是宿主机的进程都可能被kill掉的。进行资源隔离,提高安全性 二、Docker Com…

eclipse (C/C++) 常用设置记录

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台&#xff1b;现公司用其作为开发单片机的IDE&#xff1b;因此记录一下常用的配置方法&#xff1b; 文章目录 零、常用默认快捷键一、高亮相同变量二、修改高亮变量颜色三、在整个工程内搜索某个函数四、切换主题五、改变字…

主分区,逻辑分区,扩展分区有什么区别

1.地位不同 逻辑分区属于扩展分区&#xff0c;扩展分区属于主分区。 给新硬盘上建立分区时都要遵循以下的顺序&#xff1a;建立主分区→建立扩展分区→建立逻辑分区→激活主分区→格式化所有分区。 2.位置不同 主分区又叫做引导分区&#xff0c;最多只能创建四个。 扩展分…

软考A计划-系统集成项目管理工程师-信息化知识(四)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

人机接口回路原理(一)

一、人机接口框图 一般来说&#xff0c;微机保护的人机接口回路是指键盘、显示器及接口 CPU插件电路。人机接口回路的主要作用是通过键盘和显示器完成人机对话任务、时钟校对及与各保护CPU插件通信和巡检任务。在单CPU结构的保护中&#xff0c;接口 CPU就由保护CPU兼任。为了减…

什么是IO Pad?

1.什么是IO pad&#xff1f; IO pad是一个芯片管脚处理模块&#xff0c;即可以将芯片管脚的信号经过处理送给芯片内部&#xff0c;又可以将芯片内部输出的信号经过处理送到芯片管脚。输入信号处理包含时钟信号&#xff0c;复位信号等&#xff0c;输出信号包含观察时钟、中断等…

详细介绍Eclipse控制台Console使用说明

1.说明 本文详细介绍Eclipse控制台Console使用说明&#xff0c; 调试时通过控制台查看日志&#xff0c; 有时候日志太多会找不到上面的日志&#xff0c; 有时候几个控制台会不受控制的弹出&#xff0c; 那么请参考本文&#xff0c; 通过调整Eclipse控制台, 更高效方便的查看日志…