我试图在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做的一切。
有关如何执行此操作的任何指导?谢谢!
答案 0 :(得分:2)
您应该查看ngx.req.get_uri_args
和ngx.req.get_post_args
。
也就是说,在处理程序中调用os.execute
可能不是最好的主意,因为处理程序应该是非阻塞的。