ngx_http_sub_module

ngx_http_sub_module配置参数有:

  • sub_filter
  • sub_filter_last_modified
  • sub_filter_once
  • sub_filter_types

ngx_http_sub_module 模块是一个过滤器模块,它通过将一个指定的字符串替换为另一个字符串来响应。ngx_http_sub_module的参数可以使用在 http,server,location语境上。

1、sub_filter

location / {

sub_filter 'string' 'replacement'

}

设置要替换的字符串和替换字符串。忽略大小写;替换的字符串和替换字符串可以包含变量;在一个配置级别中可以配置多个sub_filtel参数;如果当前级别没有指定,会从上级级别继承。

2、sub_filter_last_modified

sub_filter_last_modified on | off; 允许在替换保留期间保留原始响应中的“Last-modified”头字段,以便响应缓存。

3、sub_filter_once

sub_filter_once on | off; 是否只替换查找到的第一个字符串

4、sub_filter_types

sub_filter_types mime-type ...; 指定响应哪些类型的响应,"*"匹配所有(mime-type 必须是配置文件mime.types文件中存在的)。

 

问题:

1、请求头都是带 Accept-Encoding: gzip

因为浏览器都是允许压缩的,所以请求头都是带 Accept-Encoding: gzip 的。而 Nginx 的 sub_filter 无法处理压缩过的请求, Nginx 自身也不会解压。

解决方法:

  1.  proxy_set_header Accept-Encoding "";禁用上游的压缩,对客户端的压缩不受影响。但是这样入站带宽就多很多了。
  2. 通过2次代理。第一层利用gunzip模块解压,第二层再用gzip模块压缩。

2.、中文替换不了

确定 nginx.conf 配置文件的编码方式是否为UTF-8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值