使用 openresty 修改请求内容

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 openresty 修改请求内容相关的知识,希望对你有一定的参考价值。

1. 目的
   动态修改 html 页面内容
 
2. 使用方式
   openresty  在 header_filter 阶段 以及body_filter 阶段进行数据修改
 
3. 源码
 此方法是实现一个追加 js 到html 页面,同时将原有页面信息转为大写
  1. location /{
  2. root html;
  3. index index.html index.htm;
  4. header_filter_by_lua_block {
  5. ngx.header.content_length = nil
  6. }
  7. body_filter_by_lua_block {
  8. local footer =[[<script src="https://dn-linuxcn.qbox.me/static/js/ads.js?aR6"></script>]]
  9. if not ngx.arg[2] then
  10. return
  11. end
  12. ngx.arg[1]=ngx.arg[1]..string.upper(ngx.arg[1])..footer;
  13. }
  14. }
 
4. 效果
 5. 注意问题
 
   header_filter 需要删除请求的长度

 

以上是关于使用 openresty 修改请求内容的主要内容,如果未能解决你的问题,请参考以下文章

从openresty lua发出https tls请求

软WAF的另一种思路:基于Openresty+Naxsi的WAF实现

Openresty日志输出请求头 log lua

基于OpenResty的OSS图片安全资源请求

谈谈基于 OpenResty 的接口网关设计

在片段中实现对话框时,必须在添加内容之前请求窗口功能