Springboot中如何启用多个监听端口

Posted l-coil的博客员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot中如何启用多个监听端口相关的知识,希望对你有一定的参考价值。

 

前段时间服务有这么个需求,web端的接口需要有web安全相关的整改,但是对内的接口并不需要。所以服务需要多个端口启动,在此记录下

Springboot中如何启用多个监听端口

@Configuration
public class EmbeddedTomcatConfiguration {
 
    @Value("${server.additionalPorts}")
    private String additionalPorts;
 
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
        Connector[] additionalConnectors = this.additionalConnector();
        if (additionalConnectors != null && additionalConnectors.length > 0) {
            tomcat.addAdditionalTomcatConnectors(additionalConnectors);
        }
        return tomcat;
    }
 
    private Connector[] additionalConnector() {
        if (StringUtils.isBlank(this.additionalPorts)) {
            return null;
        }
        String[] ports = this.additionalPorts.split(",");
        List<Connector> result = new ArrayList<>();
        for (String port : ports) {
            Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
            connector.setScheme("http");
            connector.setPort(Integer.valueOf(port));
            result.add(connector);
        }
        return result.toArray(new Connector[] {});
    }
}

application.yml

server:
  port: ${appPort:8800}
  additionalPorts: 8881,8882

 

以上是关于Springboot中如何启用多个监听端口的主要内容,如果未能解决你的问题,请参考以下文章

springboot2.0实现多个监听端口的启动实现

spring boot 2.0 监听多个端口

Spring Boot 多个端口?

C++ SOCKET编程,如何监听多个端口,比如监听两个端口,关键代码该怎么写,求教求教,求代码!

在 Spring Boot 中创建 PROXY 服务,监听多个端口,并将 GET 请求重定向到新 URL

如何在多个 HTTPS 端口上运行 Spring Boot HTTPS 服务器