访问Elastic Beanstalk端点时出现502代理错误 [英] 502 Proxy Error when accessing Elastic Beanstalk endpoint

查看:70
本文介绍了访问Elastic Beanstalk端点时出现502代理错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Elastic Beanstalk上运行Java Web应用程序时遇到问题.

I'm having issues running my Java web applicaiton on Elastic Beanstalk.

它使用了我已经在Aurora mySQL服务上运行的mySQL数据库,当我的应用程序在Mac上本地运行时,我已经能够连接并使用它.

It uses a mySQL database which I've go running on an Aurora mySQL service, which I've been able to connect to and use when my app is running locally on my Mac.

我还创建了一个Elastic Beanstalk服务并将WAR文件部署到其中,但是当我尝试访问它生成的端点时,出现以下502错误:

I also created an Elastic Beanstalk service and deployed the WAR file to it but when I try to acccess the endpoint it generated I get the folowing 502 error:

代理错误

代理服务器从上游服务器收到无效响应.代理服务器无法处理请求GET/.

The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /.

原因:从远程服务器读取错误

Reason: Error reading from remote server

60秒后似乎超时.

我尝试在 .ebextensions/httpd/conf/httpd.conf 中设置更长的Timeout和KeepAliveTimeout值,但这只会导致端点在挂起502之前挂起更长时间.

I tried setting longer Timeout and KeepAliveTimeout values in .ebextensions/httpd/conf/httpd.conf but this just causes the endpoint to hang for a longer time before the 502 is thrown.

我已经下载了EB日志,其中一件让我惊讶的事是catalina.out的摘录:

I've downloaded the EB logs and one thing that jumps out at me is this extract from catalina.out:

托管线程:3活动线程:3活动任务:com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5818f545在线程上:C3P0PooledConnectionPoolManager [identityToken-> 1br9sm89u1au3ktt1ubpi4i | 3c8f06c7] -HelperThread-#2com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3356cf8f在线程上:C3P0PooledConnectionPoolManager [identityToken-> 1br9sm89u1au3ktt1ubpi4i | 3c8f06c7] -HelperThread-#0com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@789ae24e在线程上:C3P0PooledConnectionPoolManager [identityToken-> 1br9sm89u1au3ktt1ubpi4i | 3c8f06c7] -HelperThread-#1待处理的任务:com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@32776cec池线程堆栈跟踪:线程[C3P0PooledConnectionPoolManager [identityToken-> 1br9sm89u1au3ktt1ubpi4i | 3c8f06c7] -HelperThread-#2,5,main]java.net.PlainSocketImpl.socketConnect(本机方法)java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)java.net.Socket.connect(Socket.java:589)com.mysql.cj.core.io.StandardSocketFactory.connect(StandardSocketFactory.java:202)com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:57)com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:122)com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:1619)com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1601)com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:633)com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347)com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219)com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool $ 1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)com.mchange.v2.resourcepool.BasicResourcePool.access $ 700(BasicResourcePool.java:44)com.mchange.v2.resourcepool.BasicResourcePool $ ScatteredAcquireTask.run(BasicResourcePool.java:1870)com.mchange.v2.async.ThreadPoolAsynchronousRunner $ PoolThread.run(ThreadPoolAsynchronousRunner.java:696)线程[C3P0PooledConnectionPoolManager [identityToken-> 1br9sm89u1au3ktt1ubpi4i | 3c8f06c7] -HelperThread-#0,5,main]java.net.PlainSocketImpl.socketConnect(本机方法)java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)java.net.Socket.connect(Socket.java:589)com.mysql.cj.core.io.StandardSocketFactory.connect(StandardSocketFactory.java:202)com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:57)com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:122)com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:1619)com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1601)com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:633)com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347)com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219)com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool $ 1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)com.mchange.v2.resourcepool.BasicResourcePool.access $ 700(BasicResourcePool.java:44)com.mchange.v2.resourcepool.BasicResourcePool $ ScatteredAcquireTask.run(BasicResourcePool.java:1870)com.mchange.v2.async.ThreadPoolAsynchronousRunner $ PoolThread.run(ThreadPoolAsynchronousRunner.java:696)线程[C3P0PooledConnectionPoolManager [identityToken-> 1br9sm89u1au3ktt1ubpi4i | 3c8f06c7] -HelperThread-#1,5,main]java.net.PlainSocketImpl.socketConnect(本机方法)java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)java.net.Socket.connect(Socket.java:589)com.mysql.cj.core.io.StandardSocketFactory.connect(StandardSocketFactory.java:202)com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:57)com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:122)com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:1619)com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1601)com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:633)com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347)com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219)com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool $ 1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)com.mchange.v2.resourcepool.BasicResourcePool.access $ 700(BasicResourcePool.java:44)com.mchange.v2.resourcepool.BasicResourcePool $ ScatteredAcquireTask.run(BasicResourcePool.java:1870)com.mchange.v2.async.ThreadPoolAsynchronousRunner $ PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

Managed Threads: 3 Active Threads: 3 Active Tasks: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@5818f545 on thread: C3P0PooledConnectionPoolManager[identityToken->1br9sm89u1au3ktt1ubpi4i|3c8f06c7]-HelperThread-#2 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3356cf8f on thread: C3P0PooledConnectionPoolManager[identityToken->1br9sm89u1au3ktt1ubpi4i|3c8f06c7]-HelperThread-#0 com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@789ae24e on thread: C3P0PooledConnectionPoolManager[identityToken->1br9sm89u1au3ktt1ubpi4i|3c8f06c7]-HelperThread-#1 Pending Tasks: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@32776cec Pool thread stack traces: Thread[C3P0PooledConnectionPoolManager[identityToken->1br9sm89u1au3ktt1ubpi4i|3c8f06c7]-HelperThread-#2,5,main] java.net.PlainSocketImpl.socketConnect(Native Method) java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) java.net.Socket.connect(Socket.java:589) com.mysql.cj.core.io.StandardSocketFactory.connect(StandardSocketFactory.java:202) com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:57) com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:122) com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:1619) com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1601) com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:633) com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347) com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) Thread[C3P0PooledConnectionPoolManager[identityToken->1br9sm89u1au3ktt1ubpi4i|3c8f06c7]-HelperThread-#0,5,main] java.net.PlainSocketImpl.socketConnect(Native Method) java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) java.net.Socket.connect(Socket.java:589) com.mysql.cj.core.io.StandardSocketFactory.connect(StandardSocketFactory.java:202) com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:57) com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:122) com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:1619) com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1601) com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:633) com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347) com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) Thread[C3P0PooledConnectionPoolManager[identityToken->1br9sm89u1au3ktt1ubpi4i|3c8f06c7]-HelperThread-#1,5,main] java.net.PlainSocketImpl.socketConnect(Native Method) java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) java.net.Socket.connect(Socket.java:589) com.mysql.cj.core.io.StandardSocketFactory.connect(StandardSocketFactory.java:202) com.mysql.cj.mysqla.io.MysqlaSocketConnection.connect(MysqlaSocketConnection.java:57) com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:122) com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:1619) com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1601) com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:633) com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347) com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219) com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138) com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125) com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

有人知道如何解决这个问题,或者甚至我应该如何调查吗?我是AWS的新手,正在苦苦挣扎.

Does anybody know how to resolve this or even how I should investigate it? I'm completely new to AWS and am struggling.

推荐答案

这里的问题是我最初选择的实例不够强大,无法处理我的请求.我从t1.micro(我认为)切换到m1.small.这样就解决了问题.

The issue here was that the instance I initially selected wasn't powerful enough to process my request. I switched from t1.micro(I think) to m1.small. This resolved the issue.

这篇关于访问Elastic Beanstalk端点时出现502代理错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆