阿里云 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。

最后修改:2026 年 09 月 07 日
如果觉得我的文章对你有用,请随意赞赏