执行maintenance:allow-ips加入办公公网IP后,自己访问仍是503。先确认请求到Magento时REMOTE_ADDR究竟是什么。

解决方案

  1. 运行maintenance:status确认模式和允许列表已写入正确release。多节点若各自有独立var目录,设置可能只落在执行命令的节点。
  2. 在受控临时日志或Web服务器access log记录REMOTE_ADDR与代理传来的X-Forwarded-For。Magento维护判断通常不会无条件信任任意客户端伪造的XFF。
  3. 在负载均衡/Nginx层配置可信代理和real_ip_header,让应用获得真实客户端IP;set_real_ip_from只允许实际代理网段,不能信任0.0.0.0/0。
  4. 重新设置允许IP并滚动访问所有节点。若CDN在源站前,必要时在CDN边缘建立受认证的维护绕过,不要公开放行整个CDN出口网段。
排查命令
bin/magento maintenance:status
bin/magento maintenance:allow-ips 203.0.113.25
cat var/.maintenance.ip 2>/dev/null
# Nginx示例需替换为真实代理网段:
set_real_ip_from 10.0.0.0/8;
real_ip_header X-Forwarded-For;
real_ip_recursive on;

回归测试

允许IP访问首页和后台返回正常页面,未允许的外部网络仍503;伪造X-Forwarded-For不能绕过,切换每个Web节点结果一致。

测试结束后删除临时IP日志;不要记录完整Cookie、Authorization或后台URL密钥。