在使用openresty的时候发现如果在openresty上面再加上一成代理,则lua获取不到真实的IP地址,最开始使用:ngx.var.remote_addr 获取IP
最后解决方案:
1:在代理服务器上配置
location /services {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.110.98/services;
}2:lua获取ip:
local headers=ngx.req.get_headers()
local ip=headers["X-REAL-IP"] or headers["X_FORWARDED_FOR"] or ngx.var.remote_addr or "0.0.0.0"
本文介绍了解决在使用OpenResty时,当额外添加一层代理导致无法通过Lua获取客户端真实IP的问题。解决方案包括在代理服务器上配置特定的HTTP头部,并在OpenResty中通过Lua读取这些头部来获取正确的IP。

404

被折叠的 条评论
为什么被折叠?



