0

2つのEC2サーバーを含み、Laravel 5.3 Webサイトを実行するAWSに負荷分散環境を設定しました。LoadBalanced AWS EC2インスタンス間欠的にjQuery xhr.sendに500エラーが発生しました

LBは、各インスタンスでHealthy.htmlと呼ばれるhtmlファイルに正常に接続するために2分ごとにポーリングします。

また、2分ごとに、各インスタンスはS3バケットに格納されたフォルダと内容を同期します。これは、バケツに修正​​をプッシュできることを意味し、すべてのEC2インスタンスがその修正を受け取り、2分ごとに同期します。

電子メールを送信するためにJqueryを使用して、/ registerというルートに非同期でPOSTします。

これは、毎回ローカルおよび開発環境で動作します。これは、各EC2インスタンスに別々に接続するたびに機能します。

しかし、ロードバランスされたURL経由でこれを実行すると、サーバー500のエラー(jquery xhr.send()呼び出し時)で断続的に発生します。

この「間欠的な」動作をより詳しく説明すると、最初にフォームを送信すると、500エラーがスローされます。ボタンをもう一度クリックすると、フォームが送信され、電子メールが送信されます。もう一度クリックすると500エラーが表示されます。私がデータを変更したり、ページを更新したりしないたびに。

それは私を混乱させる断続的な動作です。非同期呼び出しが2番目のサーバーにホッピングしている可能性があります。セッションが無効ですか?

他の可能性はありますか?

答えて

0

さて、セッションスティッキースになってしまいましたが、私がそれを書いていたときに私の質問に答えることができたようです。

しかし、他の人に役立つ場合は、AWS LoadBalancerのデフォルトでセッションスティッキーが無効に設定されます。

これを有効にするとすぐに機能しているように見え、もはや500エラーが発生しなくなりました。

関連する問題