nginx lua 块异常

我尝试通过 Python 和 Nginx-Lua 实现动态反向代理

然而,我以前没有使用过 Lua,所以无法确定问题是什么原因导致的。

似乎以下错误消息在 err.log 文件中:

failed to load inlined Lua code: access_by_lua(nginx.conf:44):4: '}' expected (to close '{' at line 2) near '=', client: 127.0.0.1

我的配置文件如下代码所示:

  set $datax '';
  set $res '';

  access_by_lua '
    content_by_lua_block {
    ngx.req.read_body();
    ngx.var.datax = ngx.req.get_body_data();
    ngx.var.res = os.execute("/usr/local/etc/nginx/nginx.py ngx.var.datax");

    if ngx.var.res == "VIP" then
            proxy_pass  https://mail.xxx.com;
            proxy_read_timeout  90;
    else
            proxy_pass  https://mail2.xxx.com;
            proxy_read_timeout  90;
    end
  }';
点赞
用户10126088
用户10126088

您的语法格式不正确,您试图在access_by_lua中使用content_by_lua_block

请查看文档:content_by_lua_blockaccess_by_lua

我建议您使用content_by_lua_block,因为使用access_by_lua已经在v0.9.17版本中不被推荐使用。

set $datax '';
set $res '';

content_by_lua_block {
  [您的 Lua 代码]
}
2019-05-06 09:10:43