模块 ngx_http_sub_module

Example Configuration
Directives
     sub_filter
     sub_filter_last_modified
     sub_filter_once
     sub_filter_types

ngx_http_sub_module模块是一个过滤器,通过用一个指定的字符串替换另一个字符串来修改响应。

该模块不是默认构建的,需要通过 --with-http_sub_module 配置参数启用。

配置示例

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;
}

指令

句法: sub_filter string replacement;
默认:
语境: http, server,location

设置要替换的字符串和替换字符串。匹配要替换的字符串,忽略大小写。要替换的字符串 (1.9.4) 和替换字符串可以包含变量。sub_filter可以在同一配置级别 (1.9.4) 上指定多个指令。当且仅当当前级别上没有sub_filter定义任何指令时,这些指令才会从先前的配置级别继承。

句法: sub_filter_last_modified on | off;
默认:
sub_filter_last_modified off;
语境: http, server,location

该指令出现在 1.5.1 版本中。

允许在替换期间保留原始响应中的“Last-Modified”标头字段,以方便响应缓存。

默认情况下,当处理过程中响应内容被修改时,标头字段将被删除。

句法: sub_filter_once on | off;
默认:
sub_filter_once on;
语境: http, server,location

指示是否查找要替换的每个字符串一次或重复。

句法: sub_filter_types mime-type ...;
默认:
sub_filter_types text/html;
语境: http, server,location

除了“ ”之外,还可以在具有指定 MIME 类型的响应中启用字符串替换text/html。特殊值“ *”匹配任何 MIME 类型 (0.8.29)。