varnish - 如何在 Varnish 中获取请求正文

标签 varnish varnish-vcl

我目前正在做一个基于 Varnish 的项目。

我们写 vclvmod .但是项目需要检查请求体。
如何在 VCL 中获取帖子请求正文或 vmodC function ?

最佳答案

你几乎可以用 VCL/VMOD 做你想做的一切。
您应该尝试在 vcl_recv 中调用 VMOD 子程序,然后在 C 代码中,编写如下内容:

  • 使用 VRT_GetHdr(rec->s, HDR_REQ, "\017Content-Length:");读取体长
  • 使用 HTC_Read(rec->s->htc, body, bodylen);

  • 享受 !

    你应该看看现有的 vmods https://www.varnish-cache.org/vmods ,并可以自由查看 varnish API 来源。

    关于varnish - 如何在 Varnish 中获取请求正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8091334/

    相关文章:

    varnish - 在 Varnish 4 中错误获取后,在 "probe"标记服务器不健康之前交付过时的内容

    Varnish vcl 有选择地清除缓存

    varnish - 如何在varnishncsa中记录所选的Director>后端

    centos - 子域的 plesk 上的 Varnish

    Varnish vcl_recv的默认行为

    Varnish 因我的未知原因而死

    wordpress - 使用Varnish + Nginx(HTTPS)时的重定向循环

    mysql - 高流量下的 Varnish 高数据库连接

    nginx 位于 haproxy 后面 varnish 后面

    reverse-proxy - 公司代理后面的 Varnish 或鱿鱼反向代理