为什么我需要在 AWS Beanstalk 中设置 SERVER_PORT:5000 才能使 Spring Boot 应用程序正常工作?

问题描述 投票:0回答:1

我有一个简单的 CRUD spring boot 应用程序,我想通过 Beanstalk 部署到 AWS。

如果我遵循默认步骤并仅选择自定义 VPC - 应用程序无法运行。

如果我执行相同操作并在环境变量中设置 SERVER_PORT: 5000 - 应用程序正在运行,我可以使用我的 API。

我有两个问题:

  1. 为什么我需要将 SERVER_PORT 设置为 5000?
  2. 为什么它现在在端口 80 而不是 8080 上工作,因为它是本地运行的默认端口?

我通过添加环境变量解决了这个问题,但我想知道为什么我必须这样做。

amazon-web-services spring-boot amazon-elastic-beanstalk
1个回答
0
投票

默认情况下,Spring Boot 监听端口

8080
。但是,默认情况下,Elastic Beanstalk 环境在端口
80
上运行反向代理服务器,并将流量转发到端口
5000
上的应用程序。因此,为了将流量正确代理到您的应用程序,您必须修改反向代理以转发到端口
8080
,或者只需设置
SERVER_PORT
环境变量(Spring Boot 自动检测并用于配置端口)它侦听)端口
5000

更多详细信息记录在此处

© www.soinside.com 2019 - 2024. All rights reserved.