SpringBoot同时支持HTTPS与HTTP的实现示例

 更新时间:2022年07月27日 09:46:23   作者:程序员大阳  
本文主要介绍了SpringBoot同时支持HTTPS与HTTP的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 背景

有时候SpringBoot需要支持HTTPS,例如一些微信小程序要求必须使用HTTPS。

但是之前开发的一些接口,还需要使用HTTP,此时就需要同时让SpringBoot支持HTTPS和HTTP。

本篇来解决这个问题,本人使用SpringBoot版本为<version>2.2.5.RELEASE</version>,其他版本仅供参考哈哈。

2. 制作HTTPS证书

可以直接使用freessl制作免费证书,这个之前我已详细写过一篇文章:Tomcat HTTPS证书申请与部署

使用上文的方法,直到第7步,制作jks文件即可。

3. 让SpringBoot支持Https

非常简单,直接在application.yml配置文件中添加配置即可:

server:
   port: 7002 #端口
   ssl:
      key-store: C:\tomcat.jks
      key-password: 123456
      key-store-type: JKS

注意key-store值为jks文件地址,key-password为制作证书过程中的密码。

此时启动SpringBoot项目,会发现已经在7002端口支持HTTPS请求了。

4. 让SpringBoot同时支持HTTP

配置文件中的端口server.port目前代表的是HTTPS协议的端口号,我们还需要再手工添加一个HTTP协议支持的端口号。

直接在启动类中添加如下代码:

    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(7001);
        tomcat.addAdditionalTomcatConnectors(connector);
        return tomcat;
    }

再次启动项目,可以通过7001访问HTTP接口啦。

5. 小结

SpringBoot同时支持HTTPS和HTTPS非常简单,极大的方便了我们的开发测试工作。

到此这篇关于SpringBoot同时支持HTTPS与HTTP的实现示例的文章就介绍到这了,更多相关SpringBoot支持HTTPS与HTTP内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyEclipse如何将项目的开发环境与服务器的JDK 版本保持一致

    MyEclipse如何将项目的开发环境与服务器的JDK 版本保持一致

    我们使用MyEclipse开发Java项目开发中,偶尔会遇到因项目开发环境不协调,导致这样那样的问题,在这里以把所有环境调整为JDK1.6 为例,给大家详细介绍MyEclipse如何将项目的开发环境与服务器的JDK 版本保持一致,需要的朋友参考下吧
    2024-04-04
  • SpringBoot版本升级容易遇到的一些问题

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

    由于项目需求,需要将nacos 1.4.6版本升级到2.x版本,由此引发的springboot、springcloud、springcloud Alibaba一系列版本变更,本文给大家总结一下SpringBoot版本升级容易遇到的一些问题,需要的朋友可以参考下
    2023-12-12
  • Java 如何实现时间控制

    Java 如何实现时间控制

    这篇文章主要向大家介绍得是Java 如何实现时间控制,文章珠岙举例说明该内容,感兴趣得小伙伴可以跟小编一起学习下面文章内容
    2021-10-10
  • Spring MVC完全注解方式配置web项目

    Spring MVC完全注解方式配置web项目

    这篇文章主要为大家详细介绍了Spring MVC完全注解方式配置web项目的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java多种方式动态生成doc文档

    Java多种方式动态生成doc文档

    这篇文章主要为大家详细介绍了Java动态生成doc文档的多种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java如何基于wsimport调用wcf接口

    Java如何基于wsimport调用wcf接口

    这篇文章主要介绍了Java如何基于wsimport调用wcf接口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Spring整合Mybatis的全过程

    Spring整合Mybatis的全过程

    这篇文章主要介绍了Spring整合Mybatis的全过程,包括spring配置文件书写映射器接口的实例代码,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-06-06
  • Springboot使用redis实现接口Api限流的示例代码

    Springboot使用redis实现接口Api限流的示例代码

    本文主要介绍了Springboot使用redis实现接口Api限流的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • java词法分析器DDL递归应用详解

    java词法分析器DDL递归应用详解

    这篇文章主要介绍了java词法分析器DDL递归应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Java实现快速排序算法(Quicktsort)

    Java实现快速排序算法(Quicktsort)

    这篇文章主要介绍了Java实现快速排序算法(Quicktsort),有需要的朋友可以参考一下
    2013-12-12

最新评论