wasm_postpone_rewrite

Директива `wasm_postpone_rewrite` позволяет отложить выполнение обработки переписываний до тех пор, пока не будут выполнены фильтры WebAssembly.

Синтаксисwasm_postpone_rewrite on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументы1

Описание

Директива wasm_postpone_rewrite — это функция в NGINX, которая используется при работе с модулем Proxy-Wasm. Используя эту директиву, вы указываете NGINX отложить применение любых правил переписывания до тех пор, пока не будут выполнены фильтры на базе WebAssembly. Это особенно полезно в сценариях, где логика фильтра WebAssembly может определить окончательное поведение переписывания на основе некоторых условий времени выполнения или данных, обработанных фильтром.

Эта директива принимает один аргумент, задающий условие, при котором следует отложить переписывание. Ожидается, что это обычно будет связано с взаимодействиями внутри фильтра WebAssembly, которые могут изменить свойства запроса или ответа, критичные для корректного переписывания URL. Это помогает согласовать поток обработки запросов со сложной логикой, инкапсулированной в WebAssembly, особенно для продвинутых требований к обработке запросов, где момент применения переписываний имеет решающее значение.

При использовании в контекстах, таких как http, server или location, она позволяет тонко настраивать поведение обработки запросов на различных уровнях конфигурации сервера. Это предоставляет администраторам мощные инструменты для более динамичного управления и формирования потоков запросов, используя гибкость, предлагаемую фильтрами WebAssembly.

Пример конфига

http {
    server {
        listen 80;

        location / {
            wasm_postpone_rewrite on;
            proxy_wasm my_filter;
            proxy_pass http://backend;
        }
    }
}

Не забудьте убедиться, что фильтры WebAssembly корректно обрабатывают всю необходимую логику, прежде чем разрешать применение правил перезаписи.

Если wasm_postpone_rewrite установлен, но никакой реальный фильтр WASM не выполняется, правила перезаписи будут отложены бесконечно, что может привести к непредвиденному поведению.

← Ко всем директивам