Ubuntu下pgadmin4登录报CSRF tokens不匹配Bad Request错误如何解决
pgAdmin4 CSRF Token不匹配问题修复方案
- 修改pgAdmin配置文件
原生Ubuntu部署的默认配置文件路径为/etc/pgadmin4/config_local.py,如果该路径不存在可查找/usr/pgadmin4/web/config.py,修改以下配置项:# 若使用http访问,必须设置为False,https访问才设为True CSRF_COOKIE_SECURE = False SESSION_COOKIE_SECURE = False # 本地访问设置为Lax即可,不要配置为Strict或None CSRF_COOKIE_SAMESITE = 'Lax' - 清理pgAdmin本地缓存与会话数据
先停止服务:sudo systemctl stop pgadmin4
清理会话存储:sudo rm -rf /var/lib/pgadmin4/sessions/*
清理静态缓存:sudo rm -rf /var/cache/pgadmin4/* - 若配置了Nginx/Apache反向代理,需检查代理头配置,确保传递了正确的请求源信息,Nginx配置参考:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; - 重启服务验证
启动服务:sudo systemctl start pgadmin4
使用浏览器隐私模式访问http://localhost/pgadmin4登录验证,此前配置的数据库连接信息会随会话恢复正常显示。
内容的提问来源于stack exchange,提问作者Wouter at Xudo
相关产品推荐
相关产品推荐

