nginx反向代理中node节点获取真实IP的方法

发布时间:2020-05-27编辑:脚本学堂
本文介绍下,在nginx服务器中配置反向代理时,使node节点可以取到真实IP地址的办法,有需要的朋友参考下。

本节内容:
nginx的反向代理中node节点获取真实IP

前端为一个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;