发布日期:2013-03-23 10:06 来源:末信 标签: Nginx 教程 模块
 

nginx_substitutions_filter

请注意:此模块不是Nginx源的分布,可点击此链接找到安装说明,

http://wiki.nginx.org/NginxHttpSubsModule#Installation 。

概述

nginx_substitutions_filter 是一个过滤器模块,它可以在响应主体上运行正则表达式和固定字符串替换。该

模块不同于Nginx的本地替代模块。它能够扫描输出链缓冲区和匹配逐行字符串,类似于Apache的

mod_substitute。

比如

location / {
 
    subs_filter_types text/html text/css text/xml;
    subs_filter st(\d*).example.com $1.example.com ir;
    subs_filter a.example.com s.example.com;
 
}

指令

•subs_filter_types
•subs_filter

subs_filter_types

语法: subs_filter_types mime-type [mime-types]
默认值: subs_filter_types text/html
作用域: http, server, location

subs_filter_types 用于指定subs_filter的内容类型检查。默认是text/html.。

该模块只适用于纯文本。如果是压缩的响应,它不能解压缩响应,且将忽略此响应。这个模块可以兼容gzip过滤

器模块。但是不能代理压缩的响应,您可以禁用这样的压缩响应,如下:
proxy_set_header Accept-Encoding "";

subs_filter

语法: subs_filter source_str destination_str [gior]
默认值: none
作用域: http, server, location
subs_filter 允许在目标字符串的nginx响应中替换源字符串(正则表达式或固定)。替代的文本可能包含变量

。支持每个位置一个以上的替换规则。第三个标志的含义是:
•g(default): 替换所有匹配字符串。
•i: 执行区分大小写的匹配。
•o: 只替换第一个。
•r: 处理模式是作为一个正规表达式,默认是固定的字符串。

安装说明

安装前,先获取SVN版本控制源:

svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only
 
然后编译nginx的下列选项:

./configure --add-module=/path/to/module

更新说明

nginx_substitutions_filter 0.5.2 2010-08-11 更新

•进行了多个模块的优化
•修复了缓冲区重叠的错误
•修复了输出链回归NGX_AGAIN的段故障错误
•修复了最后没有换行缓冲区的错误,这将会导至段故障。

nginx_substitutions_filter 0.5 2010-04-15 更新

•重构源结构,创建dev分支。
•修复了缓冲区块造成内容遗失的错误
•修复了last_buf的错误和兼容nginx 0.8.25版本以上的错误
•修复了固定字符串替换中不需要的配置错误
•添加正规表达式捕获功能

nginx_substitutions_filter 0.4 2009-12-23 更新

•修复了多个漏洞
nginx_substitutions_filter 0.3 2009-02-04 更新
•首次公开发布

相关评论

专题信息
    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。