socket_connect_timeout

Директива `wasm_socket_connect_timeout` задаёт период ожидания для установления сокетных соединений внутри модулей WebAssembly в NGINX.

Синтаксисwasm_socket_connect_timeout time;
По умолчаниюnone
Контекст
Аргументы1

Описание

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

Эта директива принимает в качестве аргумента период времени. Время можно указать в секундах, минутах или других единицах времени, распознаваемых NGINX, с использованием типичных суффиксов, таких как 's' для секунд и 'm' для минут. Директива wasm_socket_connect_timeout действует на уровне блока server HTTP, то есть применяется ко всем операциям WebAssembly, инициируемым в этом блоке, если только не переопределена более специфичной конфигурацией в другой части иерархии. Крайне важно подобрать подходящее значение таймаута исходя из ожидаемой задержки в сети и эксплуатационных требований: слишком маленькое значение может привести к частым ошибкам по таймауту в нормальных условиях, тогда как слишком большое — к зависанию сервисов при проблемах с подключением.

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

http {
    wasm_socket_connect_timeout 60s;
    server {
        listen 9000;
        location / {
            proxy_pass http://backend;
            proxy_wasm my_filter;
        }
    }
}

Убедитесь, что значение timeout соответствует условиям вашей сети; слишком низкое может привести к преждевременным сбоям, а слишком высокое — к зависанию запросов.

Эта директива применима только в контексте операций WebAssembly; она не влияет на стандартные NGINX connection timeouts.

Если используется вместе с другими директивами, влияющими на поведение timeout, убедитесь, что настройки не конфликтуют.

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