post - 如何在 nginx (HttpLuaModule) 中检查 POST 正文

标签 post nginx lua

我的目标是检查 POST 请求的主体并将其与 nginx 上的一些键值对列表进行比较。在我的情况下,POST 请求将始终采用 JSON 格式。每个请求都将包含一个 key:value 对,如下所示: "transaction":"12345""transaction":"098765" 。意味着关键的“交易”将始终存在,并且值(value)会在一段时间内发生变化。
我正在考虑使用 lua-nginx-module 来检查帖子正文,然后将其与 memcached 中的键值进行比较。
我还没有任何代码可以显示,但我会尽快更新一个问题。我想知道是否有人可以帮助我开始,或者展示如何完成。

最佳答案

根据您的需要,有多种方法可以检查 ngx_lua 中的 POST 请求体:

  • 全缓冲方式:使用 ngx.req.read_bodyngx.req.get_body_datangx.req.get_body_file
  • Streaming 处理方式:使用ngx.req.socket 以chunk 的形式读取和处理请求体流。
  • 关于post - 如何在 nginx (HttpLuaModule) 中检查 POST 正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877778/

    相关文章:

    ssl - 使用通配符 LetsEncrypt 证书时,NGINX 将子域重定向到记录根域的根目录

    Python 和 Django OperationalError (2006, 'MySQL server has gone away')

    function - 开始 Lua : How to call functions from terminal on Mac OS?

    module - 所需脚本中的代码 "local a = (...);"是什么意思?

    html - 博主数据 :post. firstImageUrl

    javascript - 如何在提交之前使用 JavaScript/jQuery 查看 POST 值

    python - 在 Python wunderlist API 任务中获取 {"error":"bad_request"}

    vb.net - 如何使用 VB.NET 将 JSON 发布到特定的 url?

    ubuntu - 在 WSL2 (Ubuntu 20.04) 中运行的 Nginx 不会将 HTML 页面提供给位于端口 80 之外的另一个端口上的 Windows 10 主机

    loops - 操作 Lua 表时遇到问题