在nginx中,客户端的真实IP地址可以通过代理模块的X-Real-IP或X-Forwarded-For头部获取。以下是一个示例Lua代码,可以通过访问ngx.var.http_x_real_ip或ngx.var.http_x_forwarded_for获取客户端的真实IP地址。

if ngx.var.http_x_real_ip then
  ngx.var.client_ip = ngx.var.http_x_real_ip
elseif ngx.var.http_x_forwarded_for then
  ngx.var.client_ip = ngx.var.http_x_forwarded_for
else
  ngx.var.client_ip = ngx.var.remote_addr
end

在此示例中,我们首先检查是否存在X-Real-IP头部。如果存在,则将其设置为客户端IP,否则检查X-Forwarded-For头部。如果都不存在,则将ngx.var.remote_addr设置为客户端IP。最终,客户端的真实IP地址将存储在ngx.var.client_ip中

lua 结合 nginx 获取客户端访问该项目的真实ip地址

原文地址: https://www.cveoy.top/t/topic/cpW8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录