resolver_timeout

Директива `resolver_timeout` задаёт предел времени для разрешения DNS-запросов при использовании функции Proxy-Wasm в NGINX.

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

Описание

Директива resolver_timeout имеет критическое значение для указания максимальной продолжительности операций разрешения DNS в модуле Proxy-Wasm NGINX. Когда NGINX настроен работать в качестве прокси, службе может потребоваться разрешать доменные имена в IP-адреса для корректной маршрутизации запросов. Устанавливая resolver_timeout, администраторы могут контролировать, как долго NGINX будет ждать ответа от DNS-сервера перед истечением времени ожидания. Это помогает предотвратить зависание запросов из-за неотзывчивых DNS-серверов и, таким образом, повышает общую отзывчивость и надёжность службы.\n\nПараметр для resolver_timeout задаётся в секундах и определяет период ожидания для любого процесса разрешения DNS. Правильно настроенный таймаут помогает найти баланс между удобством использования и производительностью: установка слишком большого значения может задерживать сообщения об ошибках, тогда как слишком малое значение может приводить к частым таймаутам при небольших задержках DNS. Стоит отметить, что эта директива особенно важна в средах с высокой доступностью, где проблемы с разрешением DNS могут привести к сбоям или задержкам в работе службы.\n\nНа практике правильная настройка resolver_timeout будет зависеть от среды выполнения и требований к производительности приложения. Рекомендуется отслеживать работу DNS и соответствующим образом корректировать таймаут для поддержания оптимальной работы службы.

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

http {
    resolver 8.8.8.8; # Google's public DNS resolver
    resolver_timeout 5s; # set DNS resolver timeout to 5 seconds
    server {
        location / {
            proxy_pass http://example.com;
        }
    }
}

Установка слишком низкого значения timeout может привести к частым ошибкам разрешения, если DNS-сервер работает медленно.

Убедитесь, что директива resolver также правильно задана; в противном случае resolver_timeout не будет иметь эффекта.

Не во всех контекстах, в которых работает Proxy-Wasm, используется DNS-разрешение. Подтвердите необходимость перед настройкой.

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