Nginx - 响应上游响应。

我正在使用nginx作为反向代理来上传文件存储到外部提供者。当我处理文件上传时,需要在我的数据库中跟踪上传是否成功,然后再将响应返回给用户。因此,我想使用lua-nginx-module提供的ngx.location.capture方法与后端交流请求的结果。由于我需要等待上游服务器的响应,因此只能在header_filter_by_lua中发出请求。不幸的是,我无法在header_filter_by_lua中发出任何向外部通信的请求。只有在响应未到达时才可以使用ngx.location.capturengx.socket.*ngx.exec

如何在nginx中对上游响应做出反应?

我已经考虑过的其他方法:

  • 有一个脚本监视访问日志,然后发出curl请求。(似乎应该有更简单的方法)
  • 最初通过content_by_lua使用ngx.location.capture发送文件(我认为这不会处理高达5 GB的文件大小)

感谢您的帮助:)

点赞
用户1979882
用户1979882

/upload 地址的使用方法: 使用带有 resty.upload 模块content_by_lua_file

2016-01-25 17:28:39