Azure アプリケーション ゲートウェイによりセッションが消失する

Azure アプリケーション ゲートウェイによりセッションが消失する

次のような設定があります:

  • Linux コンテナ Web アプリ (単一インスタンス)
  • Passportjs + OpenID を使用した Nodejs サーバー
  • 外部認証 (OpenID) プロバイダー。

フロントエンドに直接接続すると (.azurewebsites.net 経由)、認証は期待どおりに機能し、セッションが機能します。

次に、アプリケーション ゲートウェイを指し、Web アプリケーションにリダイレクトされる新しいドメインを構成しました。これで UI 自体は読み込まれますが、ログイン後、アプリケーションはユーザーがログインしていることを「忘れ」ます。

応答 Cookie を見ると、appSession最初のログイン リダイレクトの直後に Cookie が消えていることがわかります。

この問題を解決するにはどうすればいいでしょうか? Cookie ベースのアフィニティを有効にできることは知っていますが、私の理解では、UI のインスタンスが複数ある場合にそれが意味をなすのでしょうか?

答え1

最も可能性の高い原因は、クッキーベースのアフィニティ

  1. Azure ポータルにログオンします。
  2. 左側のナビゲーション ウィンドウで、[すべてのリソース] をクリックします。[すべてのリソース] ブレードでアプリケーション ゲートウェイ名をクリックします。選択したサブスクリプションに既に複数のリソースが含まれている場合は、[名前でフィルター...] ボックスにアプリケーション ゲートウェイ名を入力すると、アプリケーション ゲートウェイに簡単にアクセスできます。
  3. [設定] の下にある [HTTP 設定] タブを選択します。
  4. HTTP 設定を選択し、[HTTP 設定の追加] ページで、Cookie ベースのアフィニティが有効になっているかどうかを確認します。 ここに画像の説明を入力してください

もっとAzure Application Gateway セッション アフィニティの問題のトラブルシューティング

お役に立てれば!

関連情報