我有一个简单的 CRUD spring boot 应用程序,我想通过 Beanstalk 部署到 AWS。
如果我遵循默认步骤并仅选择自定义 VPC - 应用程序无法运行。
如果我执行相同操作并在环境变量中设置 SERVER_PORT: 5000 - 应用程序正在运行,我可以使用我的 API。
我有两个问题:
我通过添加环境变量解决了这个问题,但我想知道为什么我必须这样做。
默认情况下,Spring Boot 监听端口
8080
。但是,默认情况下,Elastic Beanstalk 环境在端口 80
上运行反向代理服务器,并将流量转发到端口 5000
上的应用程序。因此,为了将流量正确代理到您的应用程序,您必须修改反向代理以转发到端口 8080
,或者只需设置 SERVER_PORT
环境变量(Spring Boot 自动检测并用于配置端口)它侦听)端口 5000
。
更多详细信息记录在此处。