nginx如何获取请求客户端ipaddress
nginx how to get the request client ipaddress
我有 ngnix 代理到 nodejs 服务器。我正在尝试在我的 nodejs 中读取请求客户端 ip address/host 名称,但它始终是
::ffff:127.0.0.1
但是在我的nginx访问日志中,我看到客户端ip地址打印出来了,不知道为什么我的nodejs服务器获取不到。
x.x.x.x - - [24/Aug/2017:14:28:01 -0700] "GET ...."
将以下内容添加到代理到 NodeJS 的 nginx 配置节中:
proxy_set_header X-Real-IP $remote_addr;
现在您可以在 NodeJS
中阅读 header 'X-Real-IP'
使用 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'))
我有 ngnix 代理到 nodejs 服务器。我正在尝试在我的 nodejs 中读取请求客户端 ip address/host 名称,但它始终是
::ffff:127.0.0.1
但是在我的nginx访问日志中,我看到客户端ip地址打印出来了,不知道为什么我的nodejs服务器获取不到。
x.x.x.x - - [24/Aug/2017:14:28:01 -0700] "GET ...."
将以下内容添加到代理到 NodeJS 的 nginx 配置节中:
proxy_set_header X-Real-IP $remote_addr;
现在您可以在 NodeJS
中阅读 header 'X-Real-IP'使用 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'))