当前位置: 首页> 房产> 家装 > nginx sub_filter 使用

nginx sub_filter 使用

时间:2025/7/11 8:32:07来源:https://blog.csdn.net/qq_33930506/article/details/141957238 浏览次数:0次

说明: sub_filter 用于替换响应内容中字符串的指令,它主要用于反向代理和修改响应内容

sub_filter 是 ngx_http_sub_module 模块提供的功能,需要确保该模块被编译进 NGINX。

使用样例:

       location /ddd/decision {
            proxy_http_version 1.1;
            proxy_set_header Accept-Encoding "";
            proxy_pass http://192.168.1.166:8080/webroot/decision;
            proxy_redirect /webroot/decision /ddd/decision;
            proxy_set_header X-Forwarded-Proto https;
            proxy_redirect off;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout    30;
            proxy_read_timeout       600;
            proxy_send_timeout       600;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            sub_filter "/webroot/decision" "/ddd/decision";
            sub_filter "/webroot/" "/ddd/";
            sub_filter "/webroot/decision/resources" "/ddd/decision/resources";
            sub_filter_once off;
            sub_filter_types application/json application/javascript text/css image/png image/jpeg image/svg+xml;

       }

字段说明:

        

   两个关键配置:
    proxy_redirect /webroot/decision /ddd/decision;
   这个是修改302请求的路径变更的

    sub_filter "/webroot/decision" "/ddd/decision";
    这个是对返回的资源路径进行替换的

    sub_filter_once off;  这个是不限替换次数

    sub_filter_types  这个是根据mime.type 指定替换url资源的类型,可以指定一环某些资源

缺点:

   这个方法能成功,但是解决不了一个问题,就是js或者css里引用变量作为路径,类似于:.map-data-import-icon .x-icon {
  display: block;
  background: url('${fineServletURL}/resources?path=/com/fr/web/resources/dist/images/2x/data_import.png') no-repeat center center;
  background-size: contain;
}

解决方式: 可以将变量引用的静态文件,可以缓存到nginx本地。统一读取nginx路径下的文件。后续更新同步更新nginx路径下的文件。

关键字:nginx sub_filter 使用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: