使用FastCGI在IIS上用flask-login随机注销

问题描述 投票:-1回答:1

我正在带有IIS的Windows Server 2019上运行Dash / Flask应用程序。我用CGI安装了IIS,在应用程序的虚拟环境中安装了wfastcgi,以管理员身份运行了wfastcgi-enable,并使用虚拟环境的python可执行文件和wfastcgi.py文件等在Web.config中将FastCGI应用程序指定为路由处理程序。

一切顺利,应用程序已启动并运行。如果用户已注销,该应用程序将重定向到“ /”以登录。当我在Flask的内置服务器上运行应用程序时,这一切都可以正常运行,但是只能在此IIS /中定期运行(即有时用户不再登录,在重定向或刷新页面后偶然注销用户)。 fastcgi设置。我使用flask-login登录并验证用户,紧紧遵循此处给出的示例:https://github.com/RafaelMiquelino/dash-flask-login

我还尝试配置flask-login的“记住我”功能,以在关闭浏览器后保留登录名,但这并没有改变所提到的问题。

其他人有没有经历过?对于为什么我会在IIS和FastCGI中遇到这种奇怪的(会话?)行为,我持开放态度。谢谢!

python-3.x iis fastcgi plotly-dash wfastcgi
1个回答
0
投票

尝试增加iis应用程序池的回收率和理想的超时值。

enter image description here

增加快速CGI理想超时时间:

enter image description here

请确保将app.secret_key设置为某个秘密密钥。您可以通过以下代码获取密钥:

import os
os.urandom(24)

使用以下命令快速为Flask.secret_key(或SECRET_KEY)生成一个值:

$ python -c 'import os; print(os.urandom(16))'
b'_5#y2L"F4Q8z\n\xec]/'

请参阅此链接以获取更多详细信息:

flask-login invalidates session randomly after authentication

https://flask-login.readthedocs.io/en/latest/

© www.soinside.com 2019 - 2024. All rights reserved.