问题描述
具有实例:DMZ中的Nginx,其中TNT_Nginx_upstream_module + Tarantool Cartridge作为API服务器。
当我获得良好结果的响应时-包含数据的200 OK + JSON
如何设定其他回应?
解决方法
Tarantool Nginx上游模块被设计为遵循JSON RPC,而不是通用HTTP。使用rewrite_by_lua
部分中的location
,可以返回任意结果。看起来像这样:
location /api {
default_type application/json;
rewrite_by_lua '
...
';
}
我没有在此处粘贴完整的代码段,因为它很长。您可以查询here。
通常,如果您想要通用的HTTP API,我也建议您不要使用提到的上游模块。最好使用用Lua编写的HTTP server module,并将Nginx用作常规反向代理。作为奖励,Lua HTTP服务器位于cartridge模块的内部。