【发布时间】:2017-05-24 11:35:02
【问题描述】:
我正在用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 -w worker_number -k gevent run:app -p app.pid -b 127.0.0.1:5000 启动gunicorn。
如果worker_number 是1,则一切正常。
如果worker_number 大于1,如3,我无法使用Flask-Security 登录。
服务器的输出说登录的post请求是200。但是服务器再次将我重定向到登录页面。
经过一番搜索,我找不到直接的原因。我猜这可能是由 Flask 的 SERVER_NAME 配置或 Flask-SQLAlchemy 的滥用引起的。
有没有人遇到过这种情况?请给我一些建议。
【问题讨论】:
标签: python nginx flask-sqlalchemy gunicorn flask-security