wasm_socket_read_timeout
Устанавливает максимальную длительность чтения данных из сокета в контексте Wasm.
Описание
wasm_socket_read_timeout директива используется для указания максимального времени, в течение которого сервер NGINX должен ожидать чтения данных из сокета перед истечением таймаута. Это особенно полезно в сценариях, когда модули WebAssembly (Wasm) выполняются и ожидают ответов от upstream-серверов или других сетевых ресурсов. Установив этот таймаут, администраторы могут контролировать, как долго сервер будет пытаться считать ответ, прежде чем прекратить попытку и, возможно, прервать текущую операцию.
Директива принимает один аргумент — значение таймаута, которое можно задать в секундах, минутах или часах (с использованием s, m или h соответственно). Таймаут применяется к каждой операции чтения, инициируемой модулем Wasm, и служит защитой от зависаний сети или неответствующих upstream-сервисов, обеспечивая эффективное управление ресурсами и поддержание отзывчивости экземпляра NGINX. Когда таймаут достигается и данные не были считаны, NGINX сгенерирует ошибку и обработает её в соответствии с конфигурацией сервера, что позволяет выполнять повторные попытки или уведомлять пользователей.
Пример конфига
http {
wasm_socket_read_timeout 30s;
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}Убедитесь, что значение таймаута установлено корректно, чтобы избежать преждевременного завершения по таймауту в условиях высокой задержки.
Помните, что эта директива применяется только к контексту Wasm и отличается от стандартных настроек таймаута чтения в NGINX.