问题可能是由于 Nginx 代理后,CSRF 令牌未正确传递导致的。您可以尝试在 Nginx 配置中添加以下行:

proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

这将确保正确传递请求头,包括 X-Forwarded-Proto,X-Real-IP,X-Forwarded-For 和 Host。如果您使用的是 Django 框架,您还可以添加以下行:

CSRF_TRUSTED_ORIGINS = ['your.domain.com']

这将允许 Django 信任来自您的域的 CSRF 令牌。请确保将 'your.domain.com' 替换为您的实际域名。

Nginx SSL 代理配置后 POST 请求出现 BAD CSRF 错误的解决方法

原文地址: https://www.cveoy.top/t/topic/f1SB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录