## Nginx 反代未透传客户端 IP 导致服务端日志全量变为 127.0.0.1 ### 现象 后端解析IP后全量变成 `127.0.0.1`。 ### 原因 后端解析IP的顺序是 ``` X-Forwarded-For → X-Real-IP → RemoteAddr ``` **Nginx**转发至后端服务的 location 块缺少`proxy_set_header`指令: ```nginx location /olive3 { proxy_pass http://127.0.0.1:55430; proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s; } ``` ### 修复 在缺失的 location 块中补充 header 透传: ```nginx location /api { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:55430; # ... 其他配置不变 } ``` - `$proxy_add_x_forwarded_for`:将客户端真实 IP 追加到已有 `X-Forwarded-For` 尾部,而非覆盖 - `$remote_addr`:Nginx 直接看到的对端地址,作为 `X-Real-IP` 传递