模块 ngx_http_sub_module

示例配置
指令
     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 字符串 替换;
默认:
上下文: 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)。