wasm
Директива wasm настраивает поддержку WebAssembly в NGINX, позволяя использовать модули WebAssembly для расширения функциональности.
Описание
Директива wasm используется для включения и настройки поддержки WebAssembly (Wasm) в NGINX, позволяя пользователям встраивать среды выполнения WebAssembly в сервер NGINX. Эта директива устанавливает контекст для загрузки и управления модулями Wasm, которые могут выполняться в ответ на различные HTTP-события и фазы, через которые проходит запрос в сервере. Используя wasm, разработчики могут определять модули, инкапсулирующие пользовательскую логику, и применять proxy-wasm для динамического изменения запросов и ответов, расширяя возможности веб-сервера.
В частности, пользователи могут загружать в NGINX модули Wasm, реализующие фильтры или другую логику обработки, используя такие языки, как Rust или Go. Конфигурация позволяет объявлять несколько модулей Wasm, указывая имена модулей и пути к скомпилированным файлам .wasm. Соответствующая функциональность затем может быть вызвана в различных контекстах NGINX, например во время обработки запроса или в фазах доступа, что обеспечивает мощную расширяемость посредством пользовательской логики WebAssembly.
Пример конфига
wasm {
module my_filter /path/to/filter.wasm;
module my_module /path/to/module.wasm;
}Убедитесь, что пути к модулям Wasm корректны и доступны для NGINX.
Модули должны быть скомпилированы правильно для целевой платформы и версии NGINX.
Для отладки модулей Wasm может потребоваться включить отладочное логирование в NGINX.