配置Springboot支持https和http协议

SpringBoot双协议配置指南:同时支持HTTP和HTTPS的5个关键步骤 本文详细介绍了在SpringBoot应用中同时配置HTTP和HTTPS双协议支持的完整实践指南。文章从证书格式选择(JKS与PKCS12)入手,逐步讲解了SSL/TLS配置、Tomcat连接器自定义、安全重定向实现等5个关键步骤,并提供了生产环境优化与常见问题排查方案,帮助开发者构建安全可靠的双栈Web服务。 阅读详情

记录一下关于springboot 同时支持https和http协议的问题
在网上看了关于微信小程序的教程,要发布小程序的后端必须要支持https服务的,所以在后端springboot项目中添加了支持https服务的相关配置
在网上查了一下资料,又在我本地实践了一把,it works

1.用jdk自带的keytool生成一个.keystore的文件
在这里插入图片描述
设置秘钥口令 key-store-password
我在此设置的是: gexiaolong
-genkey 生成key
-validity 3600 有效期限3600天
-alias 别名 这个目前我也还没有搞明白是用在哪里的
-keyalg RSA 指定生成key的算法RSA
-keystore d:\gexiaolong.keystore 指定生成的keystore文件和路径 在D盘下

然后将生成的gexiaolong.keystore 放在项目的resources目录下
在这里插入图片描述

2.在application.yml中配置相关信息

配置key-store
key-store-password

在这里插入图片描述
至此配置完成,项目支持https协议

访问项目接口正确返回数据
在这里插入图片描述
切换成http协议访问则不支持 报错
在这里插入图片描述
3.配置TomcatServletWebServerFactory 支持http协议访问

在项目中添加TomcatServerCustomer 组件,然后启动项目,再次访问就可以使用http协议访问了

@Component
public class TomcatServerCustomer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {

    @Override
    public void customize(TomcatServletWebServerFactory factory) {
//      final Connector connector = new Connector("HTTP/1.1");
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(8080);
        factory.addAdditionalTomcatConnectors(connector);
    }
}

再次访问 则http 协议访问正常返回数据
在这里插入图片描述

https 协议也能正常访问的

OK,配置完成两种协议都支持了

测试环境中Springboot如何同时使用https协议和http协议 springboot 同时使用https协议和http协议 springboot.keystore 测试环境中Springboot如何同时使用https协议和http协议配置springboot , httphttps 建立springboot项目,将生成的 springboot.keystore 文件导入 项目 阅读详情

相关推荐

SpringBoot-okhttp3-keytool自签名-https单向认证和双向认证

一、前言 HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 [1] 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。 .

729

实用干货!看壹哥如何在SpringBoot项目中同时支持https和http协议

最近壹哥的一个学生在做项目时碰到了一个特殊的需求,前端浏览器需要存放跨域请求的cookie,需要将cookie的secure属性设置为true。这样一来,就要求后端的接口必须以HTTPS协议提供访问,那么我们该如何在Springboot项目中使用Https协议呢?是否一定要花钱购买数字证书才可以呢? 其实如果我们只是在开发和测试阶段,完全可以使用自定义的数字证书,并通过简单的配置,即可让Springboot程序切换成Https协议。接下来壹哥就带各位在SpringBoot项目中实现该功能。...

一一哥 4860

【Spring】配置SpringBoot同时支持http和https访问

配置https访问 生成证书 如果配置了JAVA开发环境,可以使用keytool命令生成证书。我们打开控制台,输入: keytool -genkey -alias tomcat -dname "CN=Andy,OU=kfit,O=kfit,L=HaiDian,ST=BeiJing,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365 输入后会提示输入密码,这个密码在下面配置文件有用到。

九师兄 6760

SpringBoot配置Https访问

Https协议 HTTP(Hypertext transfer protocal)是一种详细规定了浏览器和万维网服务器之间相互通信的规则,通过因特网传送万维网文档的数据传送协议。 HTTPS(Hypertext transfer protocal over Secure Socket Layer)是以安全为目标的http通道,https的安全基础是ssl,因此加密的详细内容就需要ssl。https协议需要到ca申请证书(一般免费的证书很少)。 http是超文本传输协议,信息是明文传输的,https则是具有

Nicholas_GUB的博客 1万+

Spring Boot项目如何同时支持HTTP和HTTPS协议的实现

主要介绍了Spring Boot项目如何同时支持HTTP和HTTPS协议的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

架构设计之架构治理

架构治理的本质是“用规则约束复杂性,用流程保障落地,用数据驱动优化”先定目标:明确量化的治理目标,避免盲目行动;立标准:建立覆盖分层、选型、接口、拆分的统一规范,奠定治理基础;强评审:通过架构评审把控设计环节,提前规避风险;全流程:将治理规则贯穿设计、开发、测试、部署、运维全生命周期;重保障:通过组织、流程、工具确保治理落地,而非“纸上谈兵”;持续迭代:随业务与技术演进优化治理规则,避免“一劳永逸”。

xiaolyuh的专栏 812

springboot tomcat配置_Spring Boot项目如何同时支持HTTP和HTTPS协议

本文首发于个人网站:Spring Boot项目如何同时支持HTTP和HTTPS协议如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议。准备为了使用HTTPS连接器,需要生成一份Certificate keystore,用于加密和机密浏览器的SSL沟通。如果你使用Unix或者Mac OS,可以通过...

weixin_39966922的博客 616

Ollama安装教程

Ollama 是一个开源的大语言模型(LLM)部署工具,专为在本地机器部署和运行大模型而设计,通过简单的命令就可以在本地快速运行大模型(如DeepSeek、Llama、Gemma、QWQ等)。非常适合开发者、研究人员以及对数据安全和隐私有较高要求的企业和用户

学习AI应用开发,分享AI干货、获取最新AI咨询 3857

透过源码分析,配置spring boot工程同时支持https和http协议请求

前言 spring boot工程需要同时支持http请求和https请求,spring boot 2.x的官方文档解释的很清晰,这里是地址:Configure SSL,上面也有github的示例,也可以参考配置多个连接器这个示例,以硬编码的一种方式来配置https连接器,地址:Enable Multiple Connectors with Tomcat。 不过我用的是spring boot 1...

程序猿的樊笼 739

超速U盘选购避坑指南:如何通过Rx Detect机制识别真伪USB3.0设备

本文深入解析了USB 3.0超速U盘的选购避坑要点,重点介绍了通过Rx Detect机制识别真伪设备的核心原理。文章提供了从软件检测到实际性能测试的完整方案,帮助消费者和技术人员有效辨别虚假的USB3.0设备,确保获得真正的超速传输体验。

weixin_29189373的博客 446

matlab相机标定_实战 | 相机标定

点击“计算机视觉life”关注,置顶更快接收消息!本文阅读时间约5分钟什么是相机标定?我们为什么需要相机标定?相机标定就是确定相机内参和外参的过程,其结果精度会直接影响视觉系统后续工作的准确性。坐标系相机标定涉及到了四大坐标系,分别为:像素坐标系图像物理坐标系相机坐标系世界坐标系为了进行相机标定,必须已知世界坐标系中足够多的三维空间点坐标,找到这些空间点在图像中投影点的二维图像坐标,并建...

weixin_39747334的博客 765

springboot配置支持https和http双协议

springboot配置支持https和http双协议生成证书命令证书导入到项目resource目录即可springboot加入配置java类文件springboot下yml配置添加内容验证配置是否成功效果如下 生成证书命令 此处切换到jdk的bin目录下,执行下面命令生成文件server.keystore.jks,参数就不一一说明,自行查找相关资料 keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keypass

o12321o的博客 978

深入解析UEFI PEI阶段:PeiCore的三次调用与内存管理机制

本文深入解析UEFI启动流程中的PEI阶段,重点探讨PeiCore的三次调用与内存管理机制。详细介绍了PeiCore在临时内存中的初始化、堆栈切换至永久内存的过程,以及最终交接给DXE阶段的关键步骤,为开发者提供调试技巧与实战案例,助力解决UEFI启动问题。

weixin_28452161的博客 651

配置SpringBoot项目支持https与http双协议(微信小程序只支持https协议)

配置SpringBoot项目支持https与http双协议(微信小程序只支持https协议) 配置双协议的原因? 1. SpringBoot项目,默认支持的是http协议。 2. 微信小程序开发中,对网络数据请求做出了限制(只支持https协议)

Good good study,day day up 1757

AIOps探索 | 如何用大模型构建高效运维知识及智能问答平台(1)

好久没有分享AIOps相关干货了,最近大模型这么火,而且我们有客户已经基于大模型构建了知识及智能问答平台,需要在运维领域结合使用场景进行应用。为此,楼主从头到尾声梳理了一遍大模型在运维领域构建知识及智能问答平台的应用场景、技术实现,总结出来供大家一同探索,希望对大家理解和运用大模型有一定帮助~

智能运维及数据中台探索 2812

Qt思岚激光雷达

Qt关于思岚激光雷达研究示例,本示例采用qt界面开发,可以串口也可以tcp进行设备连接。接收数据进行相关的数据进行绘图, 这种雷达可以用于大屏触摸场景,会场互动触摸场景开发。 #ifndef MAINWIDGET_H #define MAINWIDGET_H #include <QTimer> #include <QWidget> #include "lidarmgr.h" namespace Ui { class MainWidget; } class MainWidget.

cqltbe131421的博客 1598

Springboot2.x配置ssl证书同时支持http和https两种协议

1.准备一份xxx.jks的证书一份,放置resources目录下 2.在application.yml配置证书的一些参数,以及项目的http端口和https接口 配置如下: server: port: 8080 custom: httpPort: 9090 ssl: key-store: classpath:ssl.jks key-password: 1234...

苏雨丶 1703

Flow Matching03-01:微分方程【微分方程(描述变化规律的方程):包含未知函数和它的导数的方程】【公式解(精确)、数值解(逼近)】

好的,我将从数学角度详细解释Flow Matching,从高中生能理解的基础知识开始,逐步深入到高级概念。

u013250861的博客 219

Spring Boot 支持 HTTPS 如此简单,So easy!

这里讲的是 Spring Boot 内嵌式 Server 打 jar 包运行的方式,打 WAR 包部署的就不存在要 Spring Boot 支持 HTTPS 了,需要去外部对应的 Server 配置。 支持 HTTPS Spring Boot 配置 SSL 很简单,只需要通过一系列的server.ssl.*参数即可完成配置,如下所示。 application.propertie...

u010280239的博客 407

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SpringBoot同时支持HTTPS与HTTP

有时候SpringBoot需要支持HTTPS,例如一些微信小程序要求必须使用HTTPS。 但是之前开发的一些接口,还需要使用HTTP,此时就需要同时让SpringBoot支持HTTPS和HTTP。

编程副队长 4629

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Spring Boot实现Undertow服务器同时支持HTTP2、HTTPS

前言 如今,企业级应用程序的高性能安全加密的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议。Spring Boot的web容器已经有容器可以支持HTTP2了,这个例子中选择了Undertow高性能服务器作为Spring Boot的web容器。 What-什么是HTTP2 HTTP2是HTTP协议自1999年...

GET知识不迷路,点赞评论加关注! 2582

SpringBoot 配置SSL证书,同时支持 http 与 https

前言 废话就不多讲了,直接开始。 我用的是阿里云免费版 DV SSL 证书,流程中需要做域名验证,最后下载证书。 阿里云,云盾免费证书申请,验证,下载证书(Tomcat)。 配置文件支持 HTTPS 配置类支持 HTTP 证书获取 阿里云证书申网上多的是,而且貌似也没有啥困难。 申请成功后下载证书: SpringBoot 使用的是内置 Tomcat , 所以证书类型需要选择 Tomcat 。 下载后会有一个 pfx 文件 和一个密钥文件。 如果前置了 Nginx ,也需要下载 Nginx 证书且自

路的尽头在哪 768

通过nginx将https协议反向代理到http协议请求上

目前一个系统仅支持https协议访问,因后端服务基于ssl协议,前端在请求是也需要支持ssl协议的https请求来访问。目前的代理服务器是nginx,现在想要==通过http访问系统==,需通过nginx的**反向代理**或者**重定向方式**将https请求代理为http请求。可实现的做法有如下几种: >1、使后端开放两种端口,一个端口支持https协议访问,一个端口支持http协议访问,之后前端请求通过nginx代理,同时nginx也开放两个端口(比如80端口作为http访问,443端口作为https访

qq_1763467007的博客 3万+

Spring Boot支持tomcat服务器,支持http、https(ssl、tls)双协议,支持双端口

1:Spring boot 项目默认的web服务器为tomcat,默认依赖“spring-boot-starter-web”,其中含有tomcat的依赖,请看下图: 注:Spring boot版本:1.5.6.RELEASE Tomcat版本:8.5.16 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot...

学习笔记 6595

Spring Boot 支持 HTTPS 如此简单,So easy!

Spring Boot 支持 HTTPS 如此简单,So easy! 原创:栈长Java技术栈今天 这里讲的是 Spring Boot 内嵌式 Server 打 jar 包运行的方式,打 WAR 包部署的就不存在要 Spring Boot 支持 HTTPS 了,需要去外部对应的 Server 配置。 你所需具备的基础 什么是 Spring Boot? Spring...

u013322876的博客 2万+

若依SpringBoot2.x配置HTTPS访问同时支持HTTP

SpringBoot2.x配置HTTPS访问,总体上可以分为两大步:一.生成SSL证书;二.配置HTTPS访问。 一.生成SSL证书 取得SSL证书的方法有:(1)阿里云购买免费的ssl证书 (2)用命令生成ssl证书 命令生成证书 生成客户端证书 二.配置HTTPS访问 将证书文件:client.p12复制到resources目录下 修改application.yml 修改启动类 添加servletContainer()和initiateHttpConnector()两个方法,完整代码如下: 启动Spr

u012765781的博客 5860
上一篇: Spring中BeanFactory与FactoryBean的区别
下一篇: java冒泡排序
xiaolong_java
博客等级 码龄12年 1粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值