Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx如何获取当前的上行ip和端口_Nginx_Lua_Openresty - Fatal编程技术网

Nginx如何获取当前的上行ip和端口

Nginx如何获取当前的上行ip和端口,nginx,lua,openresty,Nginx,Lua,Openresty,我使用的是Nginx Lua框架,在日志阶段,我想获取当前请求的上游ip包含端口,在本指南中,显示的是类似的,但它对所有上游服务器进行分类,而不是当前服务器,如果我想获取当前服务器,我应该怎么做?$upstream\u addr将返回上游地址,可能只有一个或类似的东西:192.168.1.1:80,192.168.1.2:80,unix:/tmp/sock。可以使用逗号拆分返回值: local addrs = _.split(ngx.var.upstream_addr, ',') -- unde

我使用的是
Nginx Lua
框架,在日志阶段,我想获取当前请求的上游ip包含端口,在本指南中,显示的是类似的,但它对所有上游服务器进行分类,而不是当前服务器,如果我想获取当前服务器,我应该怎么做?

$upstream\u addr
将返回上游地址,可能只有一个或类似的东西:
192.168.1.1:80,192.168.1.2:80,unix:/tmp/sock
。可以使用逗号拆分返回值:

local addrs = _.split(ngx.var.upstream_addr, ',') -- underscore.lua
if #addrs > 0 then
    ngx.log(ngx.ERR, addrs[#addrs]) -- upstream address you want.
end

当前地址是什么意思?$upstream\u addr返回所有上游地址,我想要的是对应于上游地址的请求仅在nginx连接到它们时才包含多个地址(例如,因为第一个地址已关闭,nginx必须连接到另一个地址)。在正常操作中,通常只有一个地址。无论如何,你可以考虑最后一个为“当前”,谢谢你的回复,我想要的是最后一个你拥有LUA的所有权力来获得它。是的,代码> $UpStudioAdDR< /Cord>将返回所有的ADRs,但是我想要的是当前的,最后一个总是当前的。