proxy_wasm_isolation

Директива `proxy_wasm_isolation` определяет уровень изоляции для выполнения модулей WebAssembly (Wasm) в прокси-окружении NGINX.

Синтаксисproxy_wasm_isolation level;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива proxy_wasm_isolation является частью поддержки Proxy-Wasm в NGINX, которая упрощает интеграцию модулей WebAssembly для расширенной обработки запросов. Эта директива может быть задана в трёх контекстах: http, server и location, то есть она может применяться к глобальным конфигурациям сервера или настраиваться для конкретных маршрутов. Установив эту директиву, пользователь может задать уровень изоляции, который будут иметь модули WebAssembly при выполнении; это может быть критично для производительности и безопасности в зависимости от сценария использования.

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

При использовании proxy_wasm_isolation важно понимать влияние выбранного уровня изоляции на производительность и возможную конкуренцию за ресурсы между модулями, особенно при высокой нагрузке. Рекомендуется проверять разные конфигурации, чтобы подобрать оптимальную настройку, соответствующую требованиям приложения в зависимости от сложности и потребления ресурсов используемых модулей Wasm.

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

http {
    proxy_wasm_isolation thread;
    server {
        listen 9000;
        location / {
            proxy_pass http://backend;
            proxy_wasm my_filter;
        }
    }
}

Убедитесь, что выбранный уровень изоляции поддерживается вашим Wasm-модулем; неподдерживаемые конфигурации могут привести к ошибкам.

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

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