飞鱼

恭喜你发现了一个菜鸡博主。

解决 Nginx 反向代理 NodeJS 无法获取真实 IP 问题

飞鱼 2020年03月12日 04:39:17

解决方法非常简单

第 1 步:检查 Nginx 的 proxy_set_header 配置

一般默认都是已经配置好的

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host  $http_host;

如果是 Caddy 配置就更简单了

proxy / 127.0.0.1:3000 {
	transparent
}

第 2 步:修改代码

请参考如下示例

let ip = req.get('X-Real-IP') || req.get('X-Forwarded-For') || req.ip;
console.log(ip);

© 2020 飞鱼的博客