AWS,几个请求后负载均衡器 504 错误
AWS, Load Balancer 504 error after a few requests
我正在重复我在 https://forums.aws.amazon.com/thread.jspa?threadID=275855&tstart=0 上发布的问题
接触更多人。
嗨,
我正在尝试在 AWS 中部署 REST 服务。目前的架构是:
域名(Route 53)-> 负载均衡器-> 单个 EC2 实例(绑定到弹性 IP)。我使用 TLS/SSL 证书管理器颁发的证书。
实例是Ubuntu16.04机器,服务是用(bare)Vert.X(==没有代理服务器)实现的。
但是,504错误(网关超时)发生在一系列不同的请求(每个请求<1s)之后,然后它没有响应。几次请求后请求没有到达服务器实例。当我直接访问域名和负载均衡器时,我检查它是否以相同的方式发生。我已经确认完全相同的场景正在使用直接 URL。
我 运行 建立了一个返回 "hello world" 的虚拟服务器,它与负载平衡器一起工作正常。问题应该是由负载平衡器和服务器代码之间不一致引起的,但我不知道从哪里开始。
我检查了几个抱怨 504 错误的线程,并遵循了一些说明,但它们不起作用。特别是我在 Vert.x 中设置了 keep-alive 选项,并将空闲时间设置得比平衡器的长。由于延迟不超过直接通信的空闲时间,我相信这不是问题。我还检查了安全组并确认正确的端口已打开。 (前几个请求是有效的,所以它一定不是问题。)
你们知道我应该从哪里开始看吗?更好的是,知道问题的根源吗?
提前致谢。
编辑:我刚刚在一些代码中发现了问题。我在下面回答了自己。感谢阅读!
在我的代码中发现了问题。某些 API(由我的同事实现...)未刷新服务器中的 HTTP 响应缓冲区。
在 Vert.X Java 中,它是 resp.end()
。
它以某种方式与直接访问一起工作,可能缓冲区在某个时候被刷新了,但刷新似乎没有被负载平衡器捕获。
希望没有人遇到这种情况,但万一...
我正在重复我在 https://forums.aws.amazon.com/thread.jspa?threadID=275855&tstart=0 上发布的问题 接触更多人。
嗨,
我正在尝试在 AWS 中部署 REST 服务。目前的架构是: 域名(Route 53)-> 负载均衡器-> 单个 EC2 实例(绑定到弹性 IP)。我使用 TLS/SSL 证书管理器颁发的证书。
实例是Ubuntu16.04机器,服务是用(bare)Vert.X(==没有代理服务器)实现的。
但是,504错误(网关超时)发生在一系列不同的请求(每个请求<1s)之后,然后它没有响应。几次请求后请求没有到达服务器实例。当我直接访问域名和负载均衡器时,我检查它是否以相同的方式发生。我已经确认完全相同的场景正在使用直接 URL。
我 运行 建立了一个返回 "hello world" 的虚拟服务器,它与负载平衡器一起工作正常。问题应该是由负载平衡器和服务器代码之间不一致引起的,但我不知道从哪里开始。
我检查了几个抱怨 504 错误的线程,并遵循了一些说明,但它们不起作用。特别是我在 Vert.x 中设置了 keep-alive 选项,并将空闲时间设置得比平衡器的长。由于延迟不超过直接通信的空闲时间,我相信这不是问题。我还检查了安全组并确认正确的端口已打开。 (前几个请求是有效的,所以它一定不是问题。)
你们知道我应该从哪里开始看吗?更好的是,知道问题的根源吗?
提前致谢。
编辑:我刚刚在一些代码中发现了问题。我在下面回答了自己。感谢阅读!
在我的代码中发现了问题。某些 API(由我的同事实现...)未刷新服务器中的 HTTP 响应缓冲区。
在 Vert.X Java 中,它是 resp.end()
。
它以某种方式与直接访问一起工作,可能缓冲区在某个时候被刷新了,但刷新似乎没有被负载平衡器捕获。
希望没有人遇到这种情况,但万一...