AWS Spring Boot 应用程序的 502 错误请求
Posted
技术标签:
【中文标题】AWS Spring Boot 应用程序的 502 错误请求【英文标题】:502 bad request on AWS Spring boot application 【发布时间】:2017-04-03 09:13:35 【问题描述】:您好,我是新 AWS,正在尝试在 Elastic Beanstalk 中部署 Spring Boot 应用程序。部署成功但无法访问应用程序。出现 502 Bad Request Gateway nginx/1.10.1 错误。部署在配置上完成 运行 Java 8(nginx 代理服务器)的 64 位 Amazon Linux 2016.09 v2.2.0。他们有什么方法可以解决这个问题。谷歌搜索后我发现这是因为端口不匹配。我想知道我应该在哪里更改端口号。
【问题讨论】:
Java AWS Server: 502 Bad Gateway nginx/1.8.1的可能重复 只是为了验证它是否是一个 nginx 错误,你可以尝试使用平衡器后面的 curl 来消耗你的 spring boot 吗?我的意思是在您的 ec2 实例内部... curl localhost:port/rest_controller_endpoint 【参考方案1】:来自 AWS documentation:
默认情况下,Spring Boot 应用程序会监听 8080 端口。Elastic Beanstalk 假定应用程序将侦听端口 5000。 有两种方法可以解决此差异:更改端口 Elastic Beanstalk 配置为使用,或更改 Spring Boot 的端口 应用程序监听。
您可以在application.properties
中的server.port
属性中设置端口,或者通过设置SERVER_PORT 环境属性,如上述文档中所述通过环境设置。
【讨论】:
【参考方案2】:我也有同样的问题。原因是我没有正确生成我的 jar。不要从全新安装中获取经典 jar,而是从全新软件包 spring-boot:repackage 中获取一个。
【讨论】:
【参考方案3】:对我来说,将PORT
(而不是SERVER_PORT
)设置为值为8080
的环境变量对我有用。
【讨论】:
以上是关于AWS Spring Boot 应用程序的 502 错误请求的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS Elastic Beanstalk 上部署 Spring Boot 应用程序 — 出现 502 错误
带有 docker 应用程序的 AWS Elastic Beanstalk 返回 502
502坏网关Elastic Beanstalk Spring Boot