我在AWS Elastic Beanstalk上部署了Spring Boot应用程序。我面临502错误网关错误。我从日志中找不到有用的东西
/var/log/nginx/error.log
2019/02/10 02:12:54 [错误] 3257#0:* 1连接到上游,客户端:..,服务器:,请求:时,connect()失败(111:连接被拒绝) GET / HTTP / 1.1”,上游:“ http://127.0.0.1:5000/”,主机:“ ....”
我没有任何用于前端的html文件。我只想上传部署api,以共享来自swagger ui的文档。
答案 0 :(得分:7)
发生这种情况是因为应用程序负载均衡器默认指向 EC2 实例中 nginx 服务器的端口 80。默认情况下,nginx 配置为将请求转发到端口 5000,而应用服务器运行在 端口 8080 上。
默认 Nginx 配置
预期的 Nginx 配置
参考 AWS 文档:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html
答案 1 :(得分:1)
这是因为服务器正在侦听5000,在application.properties中添加“ server.port = 5000”解决了该问题。
答案 2 :(得分:0)
我的问题是我的Java
版本与我在Elastic Beanstalk上运行的平台不匹配,即使我的server.port
在5000
上也是如此。我的Java版本是11,平台仅是Amazon Linux的Java 8。因此,在我的基础pom.xml
中将其更改为8可以修复它。