Модуль 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-тип ...;
Умолчание:
sub_filter_types text/html;
Контекст: http, server, location

Разрешает замену строк в ответах с указанными MIME-типами в дополнение к “text/html”. Специальное значение “*” соответствует любому MIME-типу (0.8.29).