nginx如何获取请求客户端ipaddress

时间:2017-08-24 21:33:35

标签: node.js nginx nginx-reverse-proxy

我有一个ngnix代理到nodejs服务器。我试图在我的nodejs中读取请求客户端IP地址/主机名,但它总是

::ffff:127.0.0.1

但是在我的nginx访问日志中,我可以看到打印的客户端IP地址,不知道为什么我的nodejs服务器无法获取它。

x.x.x.x - - [24/Aug/2017:14:28:01 -0700] "GET ...."

2 个答案:

答案 0 :(得分:2)

将以下内容添加到代理NodeJS的nginx配置节:

proxy_set_header X-Real-IP $remote_addr;

现在您可以阅读标题' X-Real-IP'在NodeJS

答案 1 :(得分:0)

使用proxy_set_header X-Real-IP $remote_addr;作为代理请求的位置块中的设置。

在服务器中,使用属性“ HTTP_X_REAL_IP”

例如python中的示例: request.environ.get('HTTP_X_REAL_IP') (or) request.environ.get('HTTP_X_REAL_IP',request.environ.get('REMOTE_ADDR'))