【问题标题】:Java AWS Server: 502 Bad Gateway nginx/1.8.1Java AWS 服务器:502 错误网关 nginx/1.8.1
【发布时间】:2016-07-29 06:05:02
【问题描述】:
通过 Eclipse 上传我的应用程序后出现 502 bad gateway 错误,我不明白为什么会这样?
我通过 AWS Elastic Beanstalk 控制台创建了一个示例应用程序。然后我在eclipse中加载了服务器。之后我发布它并获得“环境更新成功完成”。 EB 控制台中的消息。但是,当我转到 url 时,我收到 502 Bad Gateway 错误。我查看了日志,看看出了什么问题,但我发现的唯一一件事是
“连接到上游失败(111:连接被拒绝),客户端:172.31.11.136,服务器:,请求:“GET /favicon.ico HTTP/1.1”,上游:“http://127.0.0.1:5000/favicon.ico”,主机:“k*****t.3attvpxcin.us-east-1.elasticbeanstalk.com”,推荐人:“http://k*****t.3attvpxcin.us-east-1.elasticbeanstalk.com/强>”
和
"没有主清单属性,在 application.jar"
我不知道还有什么错误。任何帮助将不胜感激
这是我从 EB 控制台获取的日志的链接。
https://drive.google.com/file/d/0B_Z-8IMBX2LcMW9yd2xsUTVzNVk/view?usp=sharing
【问题讨论】:
标签:
java
eclipse
amazon-web-services
nginx
amazon-elastic-beanstalk
【解决方案1】:
当您选择 Java 作为容器时,您的 jar 应该是可执行的 jar。
即,如果您从控制台使用 jar 命令运行,它也应该在那里失败。
你应该怎么做才能解决它使用插件构建它
例如
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
这将解决 jar 中没有清单的问题,您可以通过以下方式验证
1. 从命令 propmpt 运行 jar 或
2.在winrar之类的打开jar,看看maifest.mf文件的内容
ngix 问题不同
【解决方案2】:
今天我解决了一个类似的问题。尝试在 Elastic Beanstalk 上运行 NodeJS+Docker 服务器应用程序时,我遇到了同样的错误 (502 Bad Gateway nginx/1.8.1)。错误是在创建环境时选择了错误的平台类型(NodeJS而不是Docker)。
【解决方案3】:
对我来说,在 pom.xml 中添加了一个父级:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.3.RELEASE</version>
</parent>