spring boot 配置监听多端口

news/2024/9/18 15:03:18/ 标签: http, spring boot, https

如何实现Spring Boot配置监听多端口
1. 概述
在Spring Boot应用中,有时候需要监听多个端口,比如同时监听HTTP和HTTPS端口。本文将介绍如何实现在Spring Boot应用中配置监听多端口。

2. 流程表格
步骤    操作
1    添加依赖
2    创建多端口配置类
3    在配置文件中配置多端口
4    启动应用
3. 操作步骤
步骤1:添加依赖
在pom.xml文件中添加如下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
1.
2.
3.
4.
步骤2:创建多端口配置类
创建一个MultiPortConfig类,用于配置多个端口:

@Configuration
public class MultiPortConfig {

    @Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.addAdditionalTomcatConnectors(createSSLConnector());
        return factory;
    }

    private Connector createSSLConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("https");
        connector.setSecure(true);
        connector.setPort(8443);
        connector.setRedirectPort(8080);
        return connector;
    }
}
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
步骤3:在配置文件中配置多端口
在application.properties或application.yml中配置多个端口:

server.port=8080
server.port.secure=8443
1.
2.
步骤4:启动应用
启动Spring Boot应用,应用会同时监听8080和8443端口。

4. 类图
TomcatServletWebServerFactory
+tomcatServletWebServerFactory() : TomcatServletWebServerFactory
+createSSLConnector() : Connector
Connector
- scheme: String
- secure: boolean
- port: int
- redirectPort: int
5. 序列图
Connector
TomcatServletWebServerFactory
SpringBootApplication
Connector
TomcatServletWebServerFactory
SpringBootApplication
tomcatServletWebServerFactory()
TomcatServletWebServerFactory
createSSLConnector()
Connector
通过以上步骤,你已经学会了如何在Spring Boot应用中配置监听多端口。祝你学习顺利,编程愉快!

整理的一些关于【CI】的项目学习资料(附讲解~~),需要自取:
-----------------------------------
©著作权归作者所有:来自51CTO博客作者mob649e8164659f的原创作品,请联系作者获取转载授权,否则将追究法律责任
spring boot 配置监听多端口
https://blog.51cto.com/u_16175500/10444352


http://www.ppmy.cn/news/1517118.html

相关文章

turtlebot 测试 Gazebo Harmonic ROS Jazzy

源码移植后理论上支持所有Gazebo和ROS版本&#xff0c;但花费时间较多。 只推荐学习Gazebo 经典版和Gazebo Harmonic以及之后版本。 在中间的过渡版本&#xff0c;不推荐学习。 Gazebo经典版包括Gazebo 7 Gazebo 9 Gazebo 11。 Gazebo Harmonic 和 ROS2 jazzy 安装和测试-CSDN博…

vue3+ts el-table 鼠标移动到某单元格内时就显示 tooltip

在Vue 3和Element Plus中&#xff0c;要在鼠标移动到表格某个单元格上时显示tooltip&#xff0c;可以使用el-tooltip组件&#xff0c;并结合表格的cell-mouse-enter和cell-mouse-leave事件。 <template> <el-table :data"tableData" cell-mouse-e…

深度学习-批量与动量【Datawhale X 李宏毅苹果书 AI夏令营】

实际工程中使用批量和动量可以对抗鞍点或局部最小值。 批量&#xff1a; 在计算梯度的时候不会用所有数据计算损失。类比我们考试复习时&#xff0c;一个单元一个单元的知识点输入&#xff0c;所有单元都输入就是一整个轮回。而这一个单元用深度学习的术语来说就是批量&#x…

CSRF 概念及防护机制

概述 CSRF&#xff08;Cross-Site Request Forgery&#xff09;&#xff0c;即跨站请求伪造&#xff0c;是一种网络攻击方式。在这种攻击中&#xff0c;恶意用户诱导受害者在不知情的情况下执行某些操作&#xff0c;通常是利用受害者已经登录的身份&#xff0c;向受害者信任的…

【精选】基于数据可视化的智慧社区内网平台

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

华为AC旁挂二层组网配置详解:从DHCP部署到无线业务配置,完成网络搭建

组网需求 AC组网方式&#xff1a;旁挂二层组网。 DHCP部署方式&#xff1a; AC作为DHCP服务器为AP分配IP地址。 防火墙作为DHCP服务器为STA分配IP地址。 业务数据转发方式&#xff1a;直接转发。 网络拓扑图 对于旁边路直接转发&#xff0c;优点就是数据流量不经过AC&…

决策树和随机森林介绍

hello大家好&#xff0c;俺是没事爱瞎捣鼓又分享欲爆棚的叶同学&#xff01;&#xff01;&#xff01;今天我来给大家介绍一下决策树与随机森林&#xff0c;说起随机森林俺还有件很久远的丑事&#xff0c;之前有关课的结课作业就是用模型训练并预测&#xff0c;那时我比较天真&…

OpenCV(第二关--读取图片和摄像头)实例+代码

以下内容&#xff0c;皆为原创&#xff0c;制作不易&#xff0c;感谢大家的关注和点赞。 一.读取图片 我们来读取图片&#xff0c;当你用代码读取后&#xff0c;可能会发现。怎么跟上传的图片颜色有些许的不一样。因为OpenCV的颜色通道是BGR&#xff0c;而我们平常用的matplotl…

百日筑基第六十天-学习一下Tomcat

百日筑基第六十天-学习一下Tomcat 一、Tomcat 顶层架构 Tomcat 中最顶层的容器是 Server&#xff0c;代表着整个服务器&#xff0c;从上图中可以看出&#xff0c;一个 Server可以包含至少一个 Service&#xff0c;用于具体提供服务。Service 主要包含两个部分&#xff1a;Conn…

Flask SQLALchemy 的使用

Flask SQLALchemy 的使用 安装 Flask-SQLAlchemy配置 Flask-SQLAlchemy定义模型创建数据库和表插入和查询数据更新和删除数据迁移数据库总结Flask-SQLAlchemy 是一个 Flask 扩展,它简化了 Flask 应用中 SQLAlchemy 的使用。SQLAlchemy 是一个强大的 SQL 工具包和对象关系映射(…

【AI智能体】在AI浪潮中,程序员如何在这复杂的环境中生存下去

在这个瞬息万变的时代&#xff0c;人工智能&#xff08;AI&#xff09;如同一阵狂风&#xff0c;席卷了各行各业&#xff0c;尤其是程序员这一群体。面对AI的迅猛发展&#xff0c;程序员们不仅要适应新的技术潮流&#xff0c;更要在这场变革中找到自己的立足之地。如何在AI浪潮…

Shader笔记:光照与阴影1

引&#xff1a;旋转动画&#xff08;三角函数&#xff09; float3 rotationY(float3 vertex){float c cos(_Time.y*_Speed);float s sin(_Time.y*_Speed);float3x3 m {c,0,s,0,1,0,-s,0,c};return mul(m,vertex); } v2f vert (a2v v) {v2f o;o.pos UnityObjectToClipPos(r…

Charles苹果手机https抓包

1、电脑设置Charles代理端口 1)设置代理端口 Proxy-》Proxying Settings-》HTTP Proxy 设置端口 2)设置监控的代理地址 Proxy-》SSL Proxying Settings 添加Add允许所有地址*.* 2、电脑导入Charles的ssl证书 3、电脑查看Charles的IP地址和端口 4、手机无线wifi配置代理 5、手…

Vue3常见知识**MS【4】

一、vue2和vue3的区别 1、数据绑定原理不同 vue2&#xff1a;数据绑定是利用ES5的一个API&#xff1a;Object.definePropert() 对数据进行劫持&#xff0c;结合发布订阅模式的方式来实现的。 vue3&#xff1a;使用了ES6的Proxy API对数据代理。相比vue2.x&#xff0c;使用proxy…

【Java设计模式】Builder模式:在Java中清晰构建自定义对象

文章目录 【Java设计模式】Builder模式&#xff1a;在Java中清晰构建自定义对象一、概述二、Builder设计模式的意图三、Builder模式的详细解释及实际示例四、Java中Builder模式的编程示例五、Builder模式类图六、Java中何时使用Builder模式七、Builder模式Java教程八、Builder模…

【Linux篇】Linux的压缩与解压

1. 压缩格式 市面上有非常多的压缩格式&#xff1a; zip格式&#xff1a;Linux&#xff0c;win&#xff0c;MacOS&#xff0c;常用7zip&#xff1a;win常用rar&#xff1a;win常用tar&#xff1a;Linux&#xff0c;MacOS常用gzip&#xff1a;Linux&#xff0c;MacOS常用 如何…

C++_ch07_visual studio调试代码

C_ch07_visual studio调试代码 1.1 Break Point 断点就是程序执行到这里就会暂停&#xff0c;一个程序可以设置很多短点。在visual studio中只需要点击侧栏就可以设置断点。 点击左边的栏目&#xff0c;出现红点就是设置的断点。 另外要确保打断点的位置必须是可执行的代码&…

WordPress美化节日灯笼插件,适合春节的时候使用

源码介绍&#xff1a; WordPress美化节日灯笼插件&#xff0c;适合每年过年的时候安在网站上使用&#xff0c;这款插件可以备用着&#xff0c;一款WordPress节日灯笼美化插件&#xff0c;可以给网页自动加一个灯笼效果使用说明&#xff1a;到网站WP后台 - 插件 - 安装插件 - 上…

【学术会议征稿】第六届智能控制、测量与信号处理国际学术会议 (ICMSP 2024)

第六届智能控制、测量与信号处理国际学术会议 (ICMSP 2024) 2024 6th International Conference on Intelligent Control, Measurement and Signal Processing 文化是人类社会相对于经济和政治的精神活动和产物。传统的人类观念认为&#xff0c;文化是一种社会现象&#xff0…

CDGA|数据治理:统一数据标准成为核心关切

在数字化转型浪潮席卷全球的今天&#xff0c;数据已成为企业最宝贵的资产之一&#xff0c;其价值不言而喻。然而&#xff0c;随着数据量呈爆炸式增长&#xff0c;数据来源多样化、格式不一、质量参差不齐等问题日益凸显&#xff0c;给企业的数据管理和利用带来了前所未有的挑战…