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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java 从服务器下载文件并保存到本地的示例

    java 从服务器下载文件并保存到本地的示例

    本篇文章主要介绍了java 从服务器下载文件并保存到本地的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • java抓取鼠标事件和鼠标滚轮事件示例

    java抓取鼠标事件和鼠标滚轮事件示例

    这篇文章主要介绍了java抓取鼠标事件和鼠标滚轮事件示例,需要的朋友可以参考下
    2014-05-05
  • SpringBoot Maven打包失败报:class lombok.javac.apt.LombokProcessor错误的解决办法

    SpringBoot Maven打包失败报:class lombok.javac.apt.Lombo

    最新项目部署的时候,出现了一个maven打包失败的问题,报:class lombok.javac.apt.LombokProcessor错误,所以本文给大家介绍了如何解决SpringBoot Maven 打包失败:class lombok.javac.apt.LombokProcessor 错误,需要的朋友可以参考下
    2023-12-12
  • Java计算交集,差集,并集的方法示例

    Java计算交集,差集,并集的方法示例

    这篇文章主要介绍了Java计算交集,差集,并集的方法,结合实例形式简单分析了java集合运算的简单操作技巧,需要的朋友可以参考下
    2017-10-10
  • 在Java中使用redisTemplate操作缓存的方法示例

    在Java中使用redisTemplate操作缓存的方法示例

    这篇文章主要介绍了在Java中使用redisTemplate操作缓存的方法示例,在Redis中可以存储String、List、Set、Hash、Zset。感兴趣的可以了解一下
    2019-01-01
  • java web验证码实现代码分享

    java web验证码实现代码分享

    这篇文章主要为大家分享了java web验证码的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Servlet系列两种创建方式

    Servlet系列两种创建方式

    本文主要介绍了Servlet系列两种创建方式,包含Servlet2.5之前使用和Servlet3.0后,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • Java中引用类型class的用法总结

    Java中引用类型class的用法总结

    这篇文章主要为大家详细介绍了Java中引用类型class的用法的相关资料,文中的示例代码讲解详细,对我们学习Java有一定帮助,感兴趣的可以了解一下
    2022-10-10
  • spring使用ehcache实现页面缓存示例

    spring使用ehcache实现页面缓存示例

    这篇文章主要介绍了spring使用ehcache实现页面缓存示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • java8学习教程之函数引用的使用方法

    java8学习教程之函数引用的使用方法

    这篇文章主要给大家介绍了关于java8学习教程之函数引用的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习下吧。
    2017-09-09

最新评论