我目前正在写一个Kong插件。当我收到带令牌的请求时,我想请求外部服务来验证令牌。我读过你可以使用location_capture和proxy_pass来做外部HTTP请求。
我不确定如何做到这一点。我已经把
了 location = /reqbin {
proxy_pass https://requestb.in/yn3pykyn;
}
在nginx_kong.lua文件中。那是它应该去的地方吗?
在我的插件代码中,我有:
res = ngx.location.capture("/reqbin", {method=ngx.HTTP_POST, args=args})
但是当我使用curl请求Kong时,请求直接进入upstream_url,我可以告诉我我的requestbin没有被命中。我做错了什么?
编辑:此外,当前资源有:
状态:500
body:nil
headers:Content-Type:text / plain,Server:kong / 0.10.3
truncated:true
答案 0 :(得分:0)
有一个很好的图书馆可以帮助你完成这些请求:https://github.com/pintsized/lua-resty-http我一直在使用它来达到同样的目的而且效果很好。