問題タブ [flask-session]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
737 参照

flask - Kubernetes 上の PGadmin4: ELB を使用するとセッションが無効になる

PGAdmin4 に奇妙な問題があります。

私のセットアップ

  • pgadminkubernetesイメージを使用して4.1 をデプロイしchorss/docker-pgadmin4ます。トラブルシューティングを簡素化する 1 つの POD のみ。
  • Nginx ingress controllerクラスターのリバース プロキシとして。
  • Classic ELBクラスタの受信トラフィックをロード バランシングします。

ELB <=> NGINX <=> PGADMIN

DNS の観点からは、pgadmin のホスト名は ELB に対する CNAME です。

問題

アプリケーションは正しく到達可能であり、ユーザーはログインでき、すべてが正常に機能します。問題は、数分 (およそ 2 ~ 3 分) 後にセッションが無効になり、ユーザーが再度ログインするように要求されることです。これは、pgadmin が積極的に使用されているかどうかに関係なく発生します。

数え切れないほどのトラブルシューティングを行った結果、ELB の CNAME の DNS 解決が別の IP アドレスに切り替わったときに問題が発生することがわかりました。

実際、私は試しました:

  • のノードポートに直接接続することにより、ポッドに直接接続k8s service=> セッションは期限切れになりません。
  • (ELB をバイパスして) 直接接続nginx=> セッションは期限切れになりません。
  • hostsファイルでELBのIPアドレスの1つをマッピング=>セッションは期限切れになりません。

上記のテストを考えると、Flask アプリ (PGAdmin4 は明らかに Python Flask アプリケーションです) は、ホスト名のリモート アドレスが変更された後、Cookie が無効であると見なしていると結論付けます。

この問題を解決するのに役立つ Flask 開発者はいますか? 私が見逃しているかもしれない何かについての他のアイデアはありますか?

0 投票する
0 に答える
231 参照

python-3.x - フラスコでは、Facebookメッセンジャーからセッション変数を取得できません

私はフラスコセッションを使用して、FBメッセンジャーに埋め込まれ、Pythonで実装されたバックエンドであるチャットボットでマルチユーザーの同時実行を実現しています。

以下はコードです:

session.get がフラスコで機能せず、値を取得できません。そのため、状態、年齢、性別、q_number、症状、前の状態、条件を他の関数に送信できません..これを克服するのを手伝ってください.