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

#1楼 票数:2 已采纳

$upstream_addr将返回上游地址,它只能是一个或类似这样的地址: 192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock $upstream_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

  ask by jsvisa translate from so

未解决问题?本站智能推荐:

4回复

如何在Nginx中动态添加上游?

我的意思是在上游添加上游但不添加服务器。 这意味着我没有像这样的上游块: 我想动态创建一个上游块。 那是这样的:
1回复

Nginx-对上游响应做出反应

我正在使用nginx作为反向代理,用于与外部提供程序进行文件存储上载。 在处理文件上载时,我需要跟踪(在我的数据库中)上载是否成功,然后再将响应返回给用户。 因此,我想使用lua-nginx-module中提供的ngx.location.capture方法与后端讨论请求的结果。 由于我需要
2回复

Nginx无法解析使用lua插件设置的IP地址

我已将nginx设置为代理服务器。 它基本上应该将HTTP URL转发到特定的IP地址。 以下是我的配置 根据令牌的类型,将上游变量设置为IP地址。 逻辑是合理的,我已经分别在lua中进行了测试。 但是每次查询nginx服务器时,都会出现以下错误: 我不确定,如果要发送直接IP地
1回复

使用NGINX和Lua限制每个IP的频率

我的目标是防止基于用户IP的高频率请求,我谷歌openresty,发现它可以用Lua播放。 所以我写了下面的脚本,我是Lua的新手,任何人都可以给我一些关于这个脚本的建议,甚至可以纠正我。 这个脚本用来阻止请求超过3次的请求超过3次
1回复

基于在access_by_lua_block中设置的ngx.var的动态Nginx上游

简化的 NGINX 示例配置片段: 我看到的问题是$foo似乎没有设置在 location 块中。 如果我添加一个在 http 下记录$foo的访问日志,则该值将是bar 。 如果我将访问日志放在位置块中,则它是default 。 如何根据access_by_lua_block设置的ngx.var值
1回复

如何在nginx中上游请求之前在LUA代码中设置proxy_http_version

我想以编程方式更改 Lua 代码中的代理 http 版本。 有什么办法吗? 是的,我知道我们可以通过 location/server 块中的nginx 配置文件来设置它。 有什么办法可以根据请求动态地使用 Lua 来实现吗?
1回复

有没有办法在lua中获取nginx服务器的公开端点之一的baseuri?

我的 nginx 服务器有两个端点。 /callback/model/作为一个和第二个/execute我想在我的执行中获得回调端点的完整 uri。 最初我尝试构建 uri 如下 它适用于大多数情况。 但是如果我有域或端口更改会失败 nginx 有没有办法知道主机的部署和端口详细信息? 我的服务是一
1回复

两个上游,一个http,另一个https

大家好! 我在设置openresty时遇到一个问题,请帮忙。 我有什么:openresty + lua。 Openresty 配置: 目标:根据传递的请求方法将请求分发到上游。 请求以 json-rpc 格式发送。 问题:我有两个上游。 一个上游通过 http 协议可用,另一个通过 https 并