質問
SLBインスタンスが使用されている場合、セッションの永続化は機能しません。
原因
考えられる理由は以下のとおりです。
SLBインスタンスのリスナー設定でセッション維持が有効になっていません。
セッション持続時間が低すぎます。
HTTP/HTTPSリスナーが4XX HTTPステータスコードをバックエンドサーバーに返すと、セッションの永続化に必要なCookieをメッセージに挿入できず、セッションの永続化に失敗します。
HTTP/HTTPSリスニングを使用すると、バックエンドサーバーが302リダイレクトHTTPステータスコードを返すと、セッション持続性の
SERVERID
文字列が変更され、セッション持続性が失敗します。
回答
トラブルシューティングと解決のために次の手順を実行します。
Alibaba Cloudコンソールにログインし、[リスナー] タブでセッション維持のリスナーステータスが有効になっていることを確認します。 ステータスが無効の場合は、「TCPリスナーの追加」をご参照ください。
セッション維持のタイムアウト期間が調整されているかどうかを確認します。 タイムアウト値が小さすぎると、セッションの永続化が失敗する可能性があります。 デフォルトのタイムアウト期間を使用するか、必要に応じてタイムアウト期間を増やして、セッションの持続状態を確認します。 セッション永続性を監視する方法の詳細については、「curlコマンドを使用してSLBインスタンスのセッション永続性の有効性をテストする方法」をご参照ください。
要求応答と応答応答をブラウザでキャプチャするか、パケットキャプチャソフトウェアを使用して次のパケットが存在するかどうかを確認します。 これは、TCPリスナーのセッション持続性が送信元クライアントのIPアドレスに基づいているためです。 バックエンドWebアプリケーションにCookieを挿入し、Cookieを判断して、セッションの永続性が有効であることを確認することもできます。
302リダイレクト: SLBがCookieを挿入すると、バックエンドECSインスタンスが302のリダイレクトメッセージを返すと、セッション持続性の
SERVERID
文字列が変更され、セッション持続性に失敗します。4XX応答コードメッセージ: SLBは、セッションの永続性に必要なCookieを4XX応答コードメッセージに挿入できません。
関連トピック
スコープ
SLB