错误“无法检测您的账户是否已创建,请确保已启用 Cookie"

你好,我遇到这个问题:每次尝试注册时都会收到提示“我们无法检测到您的账户是否已创建,请确保已启用 Cookie”。我尝试过不同的浏览器、不同的网络连接(Wi-Fi、4G),以及电脑和智能手机……

如果尝试通过邀请链接注册,我会收到 403 错误 [“BAD CSRF”]。

除此之外,其他功能都正常:我可以使用管理员账户登录、创建帖子等。

我的配置是子目录模式,使用反向代理从主主机将来自 /forum 的所有请求进行重定向,反向代理也按预期转发了 IP 地址。

您使用的是旧版本的 Discourse 吗?

您的代理配置可能已损坏。

我使用的是最新版本(2.4.0.beta9),我的 nginx 配置如下:

location /forum {
    expires 1m;
    add_header Cache-Control "public";

    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;

    resolver 127.0.0.11;
    set $forum "http://xxxxxx";
    proxy_pass $forum;
    proxy_intercept_errors on;

    proxy_redirect off;
    
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

为什么除了用户注册外其他一切正常?这是否是代理配置的问题?

你需要

proxy_set_header X-Forwarded-Proto https;

谢谢,X-Forwarded-Proto 解决了问题 :slight_smile: