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

将 Spring Boot 应用程序部署到 Elastic Beanstalk 时出现 502 Bad Gateway

关闭 Spring Boot AWS 自动配置

使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序