nginx + lua获取不到ip

来源:4-32 Nginx与Lua的开发_实战场景灰度发布场景演示2

江湖你力哥

2017-08-25

 ClientIP = ngx.req.get_headers()["x_forwarded_for"]

ngx.say("IP:",ClientIP)

采用这样的方式没有获取到Ip,但是如果把x_forwarded_for改为Host则没有问题

 ClientIP = ngx.req.get_headers()["Host"]

ngx.say("IP:",ClientIP)

实验环境为,本地访问本地的虚拟机.顺便再问下 需不需要在nginx.conf的主配置文件中设置x_forwarded_for的header(我设置header 也获取不到IP)

写回答

1回答

Jeson

2017-08-27

x_forwarded_for,不一定会有数值,你是本地直接访问到Nginx,这个时候的xforward-for是为空的。

另外,你直接获取Host头信息,应该不准确,Host头是你访问的主机域名或者主机名,应该去获取"remore_addr"头。

clientIP = ngx.var.remote_addr

1
1
江湖你力哥
非常感谢!
2017-08-27
共1条回复

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程