amazon-web-services - ELB 间歇性返回 504 GATEWAY_TIMEOUT
问题描述
我在这里、这里和这里都看到过这个问题——但没有任何好的答案,并希望能解决这个问题。
我有一个连接到 6 个实例的 ELB,它们都在运行 Tomcat7。直到周五,似乎根本没有任何问题。但是,从大约五天前开始,我们开始每天从 ELB 获得大约两个 504 GATEWAY_TIMEOUT。这通常是 2/2000 ~ .1%。我打开了日志记录并看到
2018-06-27T12:56:08.110331Z momt-default-elb-prod 10.196.162.218:60132 - -1 -1 -1 504 0 140 0 "POST https://prod-elb.us-east-1.backend.net:443/mobile/user/v1.0/ HTTP/1.1" "BackendClass" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
但是我的 Tomcat7 日志根本没有任何 504,这意味着 ELB 拒绝了这些请求,甚至没有与 Tomcat 通信。
我见过有人提到将 Tomcat 超时设置为大于 ELB 的超时 - 但如果发生这种情况(即 Tomcat 超时然后 ELB 关闭),那么我不应该在 Tomcat 日志中看到 504 吗?
同样,几个月后代码也没有任何变化。所以,这一切似乎都是突然开始的,而且太罕见了,不会成为一个更大的问题。我检查了超时中是否存在某种模式(即tomcat重新启动或相同的实例等),但找不到任何东西。
我知道其他人也遇到了这个问题,但我们将不胜感激任何和所有的帮助。
解决方案
推荐阅读
- spring - Spring Cloud Gateway 启动失败:找不到名称为 GatewayFilterFactory
- java - 匹配内容中任何地方的模式?
- python - 从包含某些字符的列表中删除单词
- javascript - 如何使用 Typescript [Angular] 将字符串外部化
- python - Python:从 STDIN 读取数据,除非未提供
- android - 获取连接到 Android 设备的 USB 大容量存储设备的 UUID
- xml - 如何在空手道框架中将 CSV 文件中的数据用于 Soap XML 请求
- javascript - 在 jmeter 中加载两个 javascript 文件后,我无法使用 javascript 文件的功能
- entity-framework - 更新 .net 核心中的实体框架特定模型
- node.js - 将 mongodb 导出到另一个文件的模块 - 这是正确的方法?(在 nodejs 中)