码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringBoot同时支持HTTPS与HTTP


    文章目录

    • 1. 背景
    • 2. 制作HTTPS证书
    • 3. 让SpringBoot支持Https
    • 4. 让SpringBoot同时支持HTTP
    • 5. 小结

    1. 背景

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

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

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    注意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;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    5. 小结

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

  • 相关阅读:
    开发者的第一台服务器 ECS云服务器低至99元:新老同享
    YZ系列工具:YZ11:VBA_窗体缩放
    【MyBatis】MyBatis基础内容介绍
    分布式概念与协议
    【AnolisOS 8.x】配置本地 repo 源
    Android按下录音录音动画效果 ,自定义录音、播放动画View
    普法Android.mk中的一些宏和Android.bp对应关系
    攻防世界题目练习——Crypto密码新手+引导模式(二)(持续更新)
    最大公约数的四种方法
    Linux(Centos7版本)安装Git
  • 原文地址:https://blog.csdn.net/woshisangsang/article/details/125947007
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号