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

我正在尝试在nginx中创建一个Webhook,它将通过bash脚本传递POST和GET变量。 到目前为止,我已经使以下内容正常工作:

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

但是,我不知道如何通过传递POST和GET参数。 我在网上搜索,唯一能找到的就是使用无参数或某些关于请求体的详细使用的os.execute,这假定用户已经理解您可以在LUA中做的一切。

有关如何做到这一点的任何指导? 谢谢!

点赞
用户221509
用户221509

你应该看一下 ngx.req.get_uri_argsngx.req.get_post_args

话虽如此,在处理程序内调用 os.execute 可能并不是最好的选择,因为处理程序应该是非阻塞的。

2017-02-02 21:55:22