`

nginx反向代理,node获取真实IP

 
阅读更多

node的前端放了一个nginx做反向代理,结果

req.ip

始终取到nginx的IP,为了取得客户端真实IP,需要做2件事:

1. 设置nginx转发时加上http header

2. 在node中取出新加的header

nginx配置

location /svc/ {
                proxy_pass http://192.168.1.111:8080;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

这里增加了3个http header,其中X-Real-IP代表真实IP

node代码

var real_ip = req.get("X-Real-IP") || req.get("X-Forwarded-For") || req.ip;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics