0


SpringBoot中如何实现多端口监听

** ❃博主首页 :**
「码到三十五」
,同名公众号 :「码到三十五」,wx号 : 「liwu0213」
☠博主专栏 :
<源码解读>

<面试攻关>

♝博主的话 :搬的每块砖,皆为峰峦之基;公众号搜索「码到三十五」关注这个爱发技术干货的coder,一起筑基


当你需要在同一个Spring Boot应用中,通过不同的端口来提供不同的服务或功能时,就需要实现多端口监听.

这可能是因为:

开发或测试方便:开发测试阶段,可能想快速模拟多个服务的行为,但又不想启动多个应用实例。

临时需求:有时需要临时添加一个服务端口,以满足特定的测试或演示需求。

特殊配置:某些网络配置或安全策略要求应用监听多个端口。

1.独立Tomcat中配置多个Connector实现多端口监听

Tomcat的

server.xml

文件可以配置多个

Connector

元素,每个

Connector

元素代表一个监听端口。配置两个HTTP连接器,分别监听8080和8081端口:

<Servicename="Catalina"><Connectorport="8080"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"/><Connectorport="8081"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"/>
    ...
</Service>
2. SpringBoot中通过代码配置嵌入式Tomcat监听多个端口

SpringBoot中可以通过代码来配置嵌入式Tomcat以监听多个端口。创建一个配置类,并在其中创建

ServletWebServerFactory

Bean:

@ConfigurationpublicclassMultiPortConfig{@BeanpublicServletWebServerFactoryservletContainer(){TomcatServletWebServerFactory factory =newTomcatServletWebServerFactory();// 配置主端口8080
        factory.setPort(8080);// 添加额外的Connector监听8081端口Connector additionalConnector =newConnector("org.apache.coyote.http11.Http11NioProtocol");
        additionalConnector.setPort(8081);
        factory.addAdditionalTomcatConnectors(additionalConnector);// 可添加更多Connector监听不同端口return factory;}}
3. 配置nginx以监听多个端口并转发到同一服务

Nginx中可以配置多个监听端口,将请求转发到同一服务。如: 配置Nginx以监听80和8080端口:

server {
    listen 80;
    server_name your_domain.com;
    location / {
        proxy_pass http://localhost:8080;
    }
}

server {
    listen 8080;
    server_name your_domain.com;
    location / {
        proxy_pass http://localhost:8080;
    }
}

每种方式都有适用场景。如希望在不同的端口上运行不同的服务,可使用方式1。如希望在同一Spring Boot应用中监听多个端口,方式2适合。如果希望将多个端口的请求转发到同一个服务,方式2更合适。


关注公众号[码到三十五]获取更多技术干货 !


本文转载自: https://blog.csdn.net/qq_26664043/article/details/141334872
版权归原作者 码到三十五 所有, 如有侵权,请联系我们删除。

“SpringBoot中如何实现多端口监听”的评论:

还没有评论