flask session 在开发服务器中工作,但在生产服务器(nginx)中不工作

flask session 在开发服务器中工作,但在生产服务器(nginx)中不工作

我创建了一个带有身份验证系统的 Web 应用程序。我使用 session 模块来检查用户是否已登录。在登录阶段,我设置 session['logged_id'] = True,当客户端尝试访问主页时,我会检查 session['logged_in'] 是否等于 True。但是在创建帐户后,当我尝试通过登录页面访问主页时,即使密码正确,我也会再次被重定向到登录页面。所以,我认为 session['logged in'] 仍然是 false。

WebApp 在开发服务器中运行良好,但在生产服务器中无法运行,在这种情况下,nginx 和 gunicorn 作为 wsgi 服务器。

所以我不认为这是一个与代码相关的问题,而是与 nginx 或 gunicorn 配置有关

这是我的 nginx 配置文件

server {
    listen 80;
    server_name 192.168.1.15;
    location / {
        include proxy_params;
        proxy_pass http://unix:/home/pi/website/ris2023/ris.sock;
    }
}

这是我的 gunicorn 服务文件

[Unit]
Description=istanza di gunicorn per eseguire l'applicazione flask
After = network.target

[Service]
User = pi
Group = www-data
WorkingDirectory = /home/pi/website/ris2023
Environment = "PATH=/home/pi/website/ris2023/venv/bin"
ExecStart=/home/pi/website/ris2023/venv/bin/gunicorn --workers 3 --bind unix:ris.sock -m 007 wsgi:app

[Install]
WantedBy=multi-user.target

我也尝试过使用 flask-login,但遇到了同样的问题

相关内容