如何通过nginx上的LUA将POST和GET传递给脚本?

时间:2017-02-02 19:37:56

标签: nginx lua

我试图在nginx中创建一个webhook,它将POST和GET变量传递给bash脚本。到目前为止,我已经完成了以下工作:

location /webhook {
    if ($request_method != POST) {
        return 405;
    }
    content_by_lua 'os.execute("/opt/bin/webhook.sh arg1 arg2")';
}

但是,我不确定如何通过POST和GET参数。我在线搜索过,我唯一能找到的就是使用没有参数的os.execute或者请求体的一些详细使用,假设用户已经理解了你可以用LUA做的一切。

有关如何执行此操作的任何指导?谢谢!

1 个答案:

答案 0 :(得分:2)

您应该查看ngx.req.get_uri_argsngx.req.get_post_args

也就是说,在处理程序中调用os.execute可能不是最好的主意,因为处理程序应该是非阻塞的。