0

我在AWS上设置了一个负载均衡环境,其中包含两台运行Laravel 5.3网站的EC2服务器。LoadBalanced AWS EC2实例间歇性地失败jQuery xhr.send 500错误

LB每2分钟轮询一次,以便成功连接到每个实例上的html文件,名为Healthy.html。

每2分钟还有每个实例将其内容与存储在S3存储桶中的文件夹同步。这意味着我可以推动对桶的修改,并且所有EC2实例都会选择修改并每2分钟同步一次。

我正在使用Jquery异步POST到名为/ register的路由发送电子邮件。

这在每次在本地和开发环境中都有效。每次连接到每个EC2实例时,它都会起作用。

但是,它会间歇地通过服务器500错误(在jquery xhr.send()调用),当我通过负载平衡的URL运行它。

为了更好地解释这种“间歇”行为,我第一次提交表单时,会抛出500错误。如果我再次点击该按钮,它会提交表单并发送电子邮件。如果我再次点击它会抛出500错误。每次我不更改数据或刷新页面。

这是间歇性的行为令我困惑。异步调用是否可能跳到第二台服务器上,因此会话无效?

还有其他的可能吗?

回答

0

好吧,这是下降到会话粘滞,似乎我设法回答我的问题,因为我正在写出来。

但是,如果它帮助其他人,AWS LoadBalancer会将会话粘滞性默认为禁用。

只要我启用它似乎已经工作,并不再生成500错误。