[gophper]nginx模块实现追加和修改响应内容
ngx_http_addition_module在响应之前或者之后追加文本内容,ngx_http_sub_module模块是一个过滤器,它修改网站响应内容中的字符串。
编译安装nginx添加模块
ngx_http_sub_module模块是一个过滤器,它修改网站响应内容中的字符串
- 使用最新稳定版1.12.0,编译安装
- 使用–with-http_addition_module添加ngx_http_addition_module模块
使用–with-http_sub_module添加ngx_http_sub_module模块
mkdir -p /opt/tmp cd /opt/tmp wget http://nginx.org/download/nginx-1.12.0.tar.gz tar -zxvf nginx-1.12.0.tar.gz cd nginx-1.12.0 ./configure --prefix=/usr/local/nginx-1.12.0 --with-http_addition_module --with-http_sub_module make make install sudo /usr/local/nginx-1.12.0/sbin/nginx sudo /usr/local/nginx-1.12.0/sbin/nginx -s reload
配置例子
替换page为gophper.com,在响应之前追加header.html
location / {
sub_filter page 'gophper.com';
sub_filter_once on;
sub_filter_types *;
add_before_body /header.html;
add_after_body /footer.html;
addition_types *;
root html;
index index.html index.htm;
}
ngx_http_addition_module指令(Directives)
语法: add_before_body uri;
默认值: —
配置段: http, server, location
发起一个子请求,请求给定的uri,并且将内容追加到主题响应的内容之前。
语法: add_after_body uri;
默认值: —
配置段: http, server, location
发起一个子请求,请求给定的uri,并且将内容追加到主题响应的内容之后。
syntax: addition_types mime-type ...;
default: addition_types text/html;
context: http, server, location
这个指令在0.7.9开始支持,指定需要被追加内容的MIME类型,默认为“text/html”,如果指定为*,为所有(0.8.29).
ngx_http_sub_module指令(Directives)
语法:sub_filter string replacement;
默认值: —
配置段:http, server, location
设置需要使用说明字符串替换说明字符串.string是要被替换的字符串,replacement是新的字符串,它里面可以带变量。
语法:sub_filter_last_modified on | off;
默认值:sub_filter_last_modified off;
配置段:http, server, location
用于设置网页内替换后是否修改
语法:sub_filter_once on | off;
默认值:sub_filter_once on;
配置段:http, server, location
字符串替换一次还是多次替换,默认替换一次,如果为on为替换一次如果为off为替换所有
语法:sub_filter_types mime-type ...;
默认值:sub_filter_types text/html;
配置段:http, server, location
指定需要被替换的MIME类型,默认为“text/html”,如果指定为*,为所有(0.8.29)