阿里云 ESA 接入 Nginx:访客真实 IP 解析
配置位置
在宝塔对应站点的 Nginx 配置中,将以下指令添加到 server {} 内、location 外。
若站点已加载 proxy_real_ip.conf,直接修改该文件,避免重复配置。
来源 IP 解析
前提:ESA 回源携带 X-Forwarded-For。
以下配置信任所有来源,仅适用于已通过网络访问限制确保只有可信代理可回源的环境。否则,应将前两行替换为实际可信回源 IP 或网段,防止请求头伪造。
set_real_ip_from 0.0.0.0/0;
set_real_ip_from ::/0;
real_ip_header X-Forwarded-For;
real_ip_recursive off;off 取请求头中的最后一个 IP。多层代理场景须核实代理链,配置准确的信任范围后再决定是否启用 on。
反向代理请求头
在现有反代 location 中保留:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;解析成功后,$remote_addr 为还原后的客户端地址。后端应用需配置可信代理并读取相应请求头。
检查与重载
nginx -t && systemctl reload nginx通过 ESA 发起实际回源请求,对照已知客户端公网出口 IP,检查 Nginx 日志中的 $remote_addr 和后端收到的 X-Real-IP。