Nginx之过滤器ngx_http_sub_module模块简介和使用

本文详细介绍了 Nginx 中 ngx_http_sub_module 模块的功能与使用方法,包括如何通过配置实现字符串替换、替换选项的具体设置等,并提供了实际应用场景的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、ngx_http_sub_module模块简介

  ngx_http_sub_模块是一个过滤器,它通过用一个指定字符串替换另一个指定字符串来修改响应。默认情况下,此模块不是构建的,应该使用–with-http_sub_module配置参数启用它。安装后可以使用sub_filter、sub_filter_last_modified、sub_filter_once、sub_filter_types指令,它的作用范围包括http, server, location。主要用途是可以替换网站中的一些敏感词。

二、模块使用介绍

1、使用nginx -V查看是否安装此模块

在这里插入图片描述

2、官网示例

location / {
    sub_filter '<a href="http://127.0.0.1:8080/'  '<a href="https://$host/';
    sub_filter '<img src="http://127.0.0.1:8080/' '<img src="https://$host/';
    sub_filter_once on;
}

3、指令说明

  • sub_filter指令,用于替换字符串,不区分字符串的大小写
    使用语法:sub_filter 要替换的字符串 替换后的字符串
  • sub_filter_last_modified指令,允许在替换期间保留来自原始响应的“Last-Modified”标题字段以促进响应缓存。默认情况下,在处理期间修改响应的内容时,标题字段被删除。
    使用语法:sub_filter_last_modified on | off,默认on
  • sub_filter_once指令,指示是否查找每个字符串以替换一次或重复替换。
    使用语法:sub_filter_once on | off,默认on
  • sub_filter_types指令,指定MIME类型的字符串替换,除了“ text/html” 之外,还可以在指定MIME类型的响应中启用字符串替换。特殊值“ *”匹配任何MIME类型。
    使用语法:sub_filter_types mime-type …,默认sub_filter_types text / html;

4、配置示例及说明

location / {
    sub_filter 'wuhongsheng' 'HongshengWu';  #使用HongshengWu字符串替换wuhongsheng字符串
    sub_filter '浪子吴天' '吴红胜';
    sub_filter_once off;   #关闭只替换一次
    proxy_pass http://show;  ##反向代理执行定义的upstream名字
}

三、使用验证

1、Tomcat原页面内容

在这里插入图片描述

2、字符串替换配置后

在这里插入图片描述

3、替换后的页面如下

在这里插入图片描述

4、关闭sub_filter_once

在这里插入图片描述

5、刷新页面

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒悦sunsite

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值