2017-01-10 10 views
0

私はFlaskとウェブサイトを書いています。私はFlask-Secuirtyを使って認証を行います。私はそれを展開するためにnginx + gunicornを使用します。フラスコのセキュリティは複数の労働者がいるガンコーンでは機能しませんか?

次のようにnginxのの設定:

server{ 
    listen 80; 
    server_name project.example.com; 
    location/{ 
     proxy_pass http://127.0.0.1:5000; 

     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; 
    } 
} 

そして私はgunicornを開始するためにgunicorn -w worker_number -k gevent run:app -p app.pid -b 127.0.0.1:5000を使用しています。

worker_number1の場合はすべて問題ありません。

worker_number1より大きい場合、3のようにFlask-Securityでログインできません。

サーバーの出力によると、ログインの投稿要求は200となっていますが、サーバーは再びログインページにリダイレクトされます。

一部の検索の後、私はこれの直接の理由を見つけることができません。そして、私はこれがSERVER_NAMEフラスコの設定またはFlask-SQLAlchemyの誤用によって引き起こすかもしれないと思います。

誰もこの前にこのような状況に遭遇しましたか?私にいくつかのアドバイスをお願いします。

答えて

0

Flask-Sessionのようなものを使用し、セッションストアとしてRedisを使用します。私はFlask-Securityがどのように動作するのかはよく分かりませんが、Flaskセッションに依存していると仮定します。この場合、アプリケーションサーバ間のユーザーセッションの切り替えの問題が解決されます。

関連する問題