2017-01-10 79 views
0

我正在寫一個網址爲Flask。我使用Flask-Secuirty進行身份驗證。我使用nginx + gunicorn來部署它。燒瓶安全不能與多個工人一起使用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 -w worker_number -k gevent run:app -p app.pid -b 127.0.0.1:5000開始gunicorn

如果worker_number1,一切正常。

如果worker_number大於1就像3,我無法使用Flask-Security登錄。

服務器的輸出所說的登錄的POST請求是200元。但將服務器重定向我再次登錄頁面。

一些搜索後,我找不到這個直接原因。我猜這可能是由於Flask的SERVER_NAME配置或者Flask-SQLAlchemy的濫用造成的。

以前有沒有人遇到過這種情況?請給我一些建議。

回答

0

使用類似Flask-Session,並使用Redis的作爲會話存儲。我不確定Flask-Security如何工作,但我認爲它依賴於Flask會話,在這種情況下,它可以解決應用程序服務器之間用戶會話切換的問題。