Spring Boot 多个端口?

Posted

技术标签:

【中文标题】Spring Boot 多个端口?【英文标题】:Spring Boot Multiple Ports? 【发布时间】:2019-01-23 08:59:57 【问题描述】:

如何让 Spring Boot Web 应用程序在多个端口上运行? 例如 8080 和 80 我怎样才能做到这一点?application.properties

server.port=8080, 80

【问题讨论】:

一个(spring boot)应用程序只监听一个端口。如果您想让 Spring Boot 应用程序监听 2 个端口,请使用 server.port=8080 启动 2 个端口,另一个在 server.port=80 上启动,即单独的 application.properties 文件。 在another thread讨论 【参考方案1】:

您可以添加侦听器,而不是运行多个应用程序。例如,如果您使用 undertow :

@Configuration
public class PortConfig 

    @Value("$server.http.port")
    private int httpPort;

    @Bean
    public UndertowEmbeddedServletContainerFactory embeddedServletContainerFactory() 
        UndertowEmbeddedServletContainerFactory factory = new UndertowEmbeddedServletContainerFactory();
        factory.addBuilderCustomizers(new UndertowBuilderCustomizer() 

            @Override
            public void customize(Undertow.Builder builder) 
                builder.addHttpListener(httpPort, "0.0.0.0");
            

        );
        return factory;
    

我用它来监听 http 端口和 https 端口。

对于 Tomcat,您会发现相同类型的配置: https://docs.spring.io/spring-boot/docs/1.2.1.RELEASE/api/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.html

【讨论】:

这里讨论:***.com/questions/36357135/…

以上是关于Spring Boot 多个端口?的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在 STS/eclipse 的多个端口上启动单个 Spring Boot 微服务? [关闭]

nginx配置 多域名 spring boot项目(同台服务器多个端口)

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

如何在IDEA启动多个Spring Boot工程实例

如何为 Spring Boot 应用程序配置端口