这可能是不可能的问题.我已经尝试了一切.我觉得在某个地方的交换机上有一个人,旋转着他的胡子.
问题:
我有Amazon EC2运行应用程序.当只有一个实例且没有负载均衡器时,它可以正常运行.
但是在我的生产环境中,我有两个相同的实例在一个负载均衡器后面运行,在执行某些任务时,比如生成PDF并将其附加到电子邮件的功能,根本不会发生任何事情,以及在网络中使用Google Developer工具时选项卡一旦超时命中(我将其设置为30秒),我会收到错误"504 Gateway Timeout".
我的数据库是外部的,在Amazon RDS上.
我想....如果我可以强制客户端保持连接到他们登录的初始服务器,这个问题就会解决,因为我的理解是当实例1尝试联系到时,504网关超时正在发生instance-2执行任务.
只有在使用负载平衡时才会发生这种情况,但是直接连接到我的两台服务器之一时就不会发生这种情况.
负载均衡器设置:
更多想法:
话虽这么说,我不是用HTTPS测试,而是用普通的HTTP测试.即使我的证书提供商表示,我也不相信SSL已正确设置.我怀疑的原因是当我尝试键入https://app.myapplication.com时,我在Google Developer Tools的Network选项卡中收到错误"(failed)net :: ERR_CONNECTION_CLOSED".但这应该是不适用的,因为即使使用常规HTTP我也遇到了问题.我可以稍后对SSL进行故障排除.
重申一下,我的问题是在使用某些功能时遇到"504 Gateway Timeout"问题,但偶尔也会随机而不是加载页面(但很少).只有在使用负载平衡时才会出现这个问题,但是直接连接到我的两个实例之一时就不会发生这种问题.
我不知道要问哪个问题,因为我已经跟踪了每个文件到T,双重和三重检查了网络上的所有建议而没有.