回答
收藏
分享
举报
filter 缓存所有body
提问于2020-08-12 11:37

浏览 962

各位大神好:

最近在做一个字符串替换模块,想要在所有要发出的html文件中,对所有的外链进行修改,在链接的最后加一个标识。因此想要将所有收到的html文件先全部缓存了之后再进行处理,以避免边界问题。但是对于缓存方式有些疑惑:

  1. 仅仅缓存收到的 in 数据中的 poslast 指针,然后将 in 中的 pos 指向 last 传给下一个filter模块,让下一个filter模块不再进行处理;(该方案实践后成功,但是与sub filter模块一起使用时有些问题,不明白问题缘由)
  2. 仅缓存 in ,然后在自己的filter模块中直接 return NGX_OK;(该方案似乎不行,不交给接下来的模块进行处理直接返回NGX_OK会有些问题)
  3. 将所有收到的数据直接进行内存拷贝以缓存,该方案还未实施,考虑到性能比较差;

不知道各位大神有没有比较好的方案,若觉得 方案1,2 行不通的请告知缘由,万分感谢!

已修改于2023-02-22 02:12



写下您的回答
发表回答
全部回答(0)

按点赞数排序

按时间排序

提问者
小禾先生
这家伙很懒还未留下介绍~
0
文章
4
问答
0
粉丝
相关问答

RFC规范上定义的options方法,可以用于获取所有支持的method方法。

然而,这实际上会带来web安全问题,黑客很容易扫描到web框架的漏洞,比如有些老框架还在支持trace方法。因此,waf防火墙大都会拒绝options方法。

点赞 0
浏览 1.5k

301是要求跳转,按理应该是发给客户端来处理的,如果非要在nginx里处理可以用proxy_intercept_errors

点赞 0
浏览 578