nginx 中的 csrf 令牌缺少 pgadmin

nginx 中的 csrf 令牌缺少 pgadmin

我正在使用 postgres、pgadmin、nginx docker 镜像,也使用 gunicorn 并使用 docker-compose 启动。

我可以成功完成以下操作:

  1. 所有服务均已正常运行。
  2. 能够登录 pgadmin(通过 nginx)。
  3. 能够创建服务器并在数据库上发出查询。

问题是:当我点击注销按钮时。虽然我可以注销并重定向到登录页面。但在终端上,我收到错误,有时不是持续的,而是

  1. 错误 pgadmin:400 错误请求:缺少 CSRF 会话令牌。
  2. 错误 pgadmin:CSRF 令牌不匹配。

我在谷歌上尝试了很多解决方案,但都没有奏效。我还观察到以下情况:

  1. 我查看了登录页面源代码,其中有一个长字符串的 csrf_token。
  2. 在请求标头中,“X-pgA-CSRFToken”带有长字符串(两者相同)

我的 nginx conf 文件中的 pgadmin 部分如下:

location /pgadmin4 {   

    proxy_cookie_flags ~ secure nohttponly samesite=none;
    proxy_pass http://pgadmin:8081;       

}

我不知道到底出了什么问题。

相关内容