【发布时间】:2018-01-29 22:26:28
【问题描述】:
我有一个 lua 脚本,它使用 lua-resty 通过 co-sockets 调用另一个服务。 现在我想使用这个调用中的信息在 nginx 中路由请求。
nginx 在 access_by_lua* 中包含 lua 脚本 像这样设置var:
ngx.var.blocked = '1'
以及该位置的路线如下:
if ( $blocked ) {
proxy_pass http://haproxy-9001;
break;
}
现在的问题是 nginx 没有接收到变量的变化(在这个阶段)。 如果我在 set_by_lua* 阶段包含 lua 脚本,则变量传递有效,但在此阶段我无权访问共同套接字。
知道如何在 access_by_lua、rewrite_by_lua 或 content_by_lua 阶段将变量从 lua 域中获取到 nginx 变量中,以便我可以使用 co-socket api 进行 http 调用?
【问题讨论】: