访问 Magento 2 后台不断在两个地址之间跳转,浏览器最后显示 Too many redirects,先记录每一次 Location 的目标。只有知道循环发生在 HTTP/HTTPS、带不带 www,还是后台登录与仪表板之间,才能判断是哪一层在改写。

BASE_URL='站点地址'
curl -I \"$BASE_URL/admin\"
curl -IL --max-redirs 10 \"$BASE_URL/admin\"

如果 HTTP 跳 HTTPS 后又被 Magento 跳回 HTTP,通常是 Secure Base URL 或代理协议识别问题;如果登录页和 dashboard 互相跳,重点检查 session Cookie 是否保存成功。

核对 Magento 中真实生效的 URL

bin/magento config:show web/unsecure/base_url
bin/magento config:show web/secure/base_url
bin/magento config:show web/secure/use_in_frontend
bin/magento config:show web/secure/use_in_adminhtml

Base URL 应包含正确协议、域名和结尾斜杠。配置可能按 scope 覆盖,因此默认值正确并不代表当前网站没有错误值。紧急修复配置前先备份,并确保命令针对正确环境;不要直接批量替换 core_config_data 中所有 URL。

反向代理后最常见的是 HTTPS 判断错误

Nginx、负载均衡器或 CDN 在前端接收 HTTPS,回源时可能使用 HTTP。若没有传递并信任原始协议,Magento 会认为当前请求不安全并再次重定向。检查 X-Forwarded-Proto、后端 fastcgi 参数及可信代理设置,同时避免 CDN 页面规则和 Web 服务器规则重复强制不同主域名。

Cookie 不能跨错误的域和路径

查看浏览器中 admin session Cookie 的 Domain、Path、Secure 和 SameSite。Cookie Domain 写成旧域名、Path 只覆盖前台,或 Secure Cookie 通过 HTTP 访问,都会使登录提交后下一次请求失去会话。清除旧 Cookie 只能用于验证,最终仍要修正服务器配置。

还有一种情况是后台入口路径被 Web 服务器规则当作前台 URL 重写。确认请求确实进入 Magento 的 index.php,并排除把后台路径重定向到尾斜杠或语言目录的规则。

修复后用无痕窗口完整登录一次,确认登录页只跳到 dashboard 一次;再检查前台 HTTP、HTTPS、www 与非 www 的规范跳转。不要只验证管理员自己的浏览器,因为旧 Cookie 可能掩盖配置问题。