站点直连服务器能登录,一走 Cloudflare 或负载均衡就回到登录页,这类问题大多不是管理员密码错,而是 Magento 设置的后台 Cookie 没有在下一次请求带回来。

在登录请求里对比Set-Cookie和下一跳Cookie

Network 里看后台登录 POST 响应有没有 Set-Cookie: admin=...,然后看随后的 dashboard 请求是否带上同一个 Cookie。没带时检查四项:

  • Cookie Domain 是否写成了旧域名。
  • Cookie Path 是否限制在错误的后台路径。
  • 前端实际是 HTTPS,但 Magento 认为当前请求是 HTTP。
  • SameSite / Secure 属性是否与浏览器访问方式冲突。

让代理把真实协议传给Magento

Nginx 反代至少要正确传递:

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

如果 TLS 在负载均衡终止,后端 $scheme 可能永远是 http,这时应使用上游提供的协议头,不能盲目硬编码。Magento 的 Secure Base URL 也要与用户实际访问地址一致。

配置修正后清理旧浏览器 Cookie 再测。只清 Magento 缓存往往没用,因为浏览器还在带旧 domain/path 的会话。登录后连续打开三个后台页面并观察 session Cookie 没有变化、请求不再 302 回 login,才表示代理协议和 Cookie 已经对齐。