1

有实例:DMZ 中的 Nginx,使用 TNT_nginx_upstream_module + Tarantool Cartridge 作为 API 服务器。
当我得到良好结果的响应时 - 它是 200 OK + JSON 数据
如何设置其他响应?

  • 400 错误请求
  • 403 禁止
  • 404 未找到
  • 410 走了
  • 500内部服务器错误
  • 503服务不可用
4

1 回答 1

0

Tarantool Nginx 上游模块被设计为遵循 JSON RPC,而不是通用 HTTP。有一种方法可以返回任意结果,rewrite_by_lua在该location部分中使用。它看起来像这样:

location /api {
  default_type application/json;
  rewrite_by_lua '
    ...
  ';
}

我没有在这里粘贴完整的片段,因为它很长。你可以在这里查一下

一般来说,如果你想要一个通用的 HTTP API,我也建议你不要使用上面提到的上游模块。最好使用 Lua 编写的HTTP 服务器模块,并使用 Nginx 作为常规反向代理。作为奖励,Lua HTTP 服务器包含在盒式模块中。

于 2020-10-12T09:19:36.060 回答