【问题标题】:Custom response from Tarantool + Nginx来自 Tarantool + Nginx 的自定义响应
【发布时间】:2020-10-07 13:53:25
【问题描述】:

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

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

【问题讨论】:

  • 问题不够清楚。

标签: nginx tarantool nginx-upstreams tarantool-cartridge


【解决方案1】:

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

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

我没有在此处粘贴完整的 sn-p,因为它很长。你可以查一下here

一般来说,如果你想要一个通用的 HTTP API,我也建议你不要使用上面提到的上游模块。最好用Lua写的HTTP server module,用Nginx做常规的反向代理。作为奖励,Lua HTTP 服务器加入了cartridge 模块。

【讨论】:

    猜你喜欢
    • 2016-02-10
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    相关资源
    最近更新 更多