proxy_connect_timeout

Директива `proxy_connect_timeout` задаёт максимальное время ожидания установления соединения с проксируемым сервером.

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

Описание

В контексте NGINX SRT module директива proxy_connect_timeout играет ключевую роль в управлении таймаутами при попытках подключения к upstream servers. Эта директива задаёт период, в течение которого NGINX будет ждать успешного установления соединения с проксируемым сервером до истечения времени ожидания. Если этот период превышается, возвращается ошибка, что предотвращает зависание сервера NGINX при попытках подключиться к потенциально недоступному серверу.

Эта директива принимает один аргумент, указывающий длительность таймаута. Формат может быть в секундах (например, 30s) или выражен с использованием единиц времени, таких как m для минут, h для часов и т.д. Если не указан, используется значение по умолчанию, заданное в конфигурации сервера. Важно настраивать этот таймаут в зависимости от сетевой среды, чтобы оптимизировать надёжность и производительность приложения.

В сценариях с динамическими upstream servers или сетевыми соединениями, которые могут испытывать переменную задержку, корректировка proxy_connect_timeout может существенно улучшить пользовательский опыт, сокращая время ожидания и позволяя быстро переключаться на альтернативные прокси, если основной сервер недоступен.

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

server {
    listen 4321;
    proxy_connect_timeout 30s;
    proxy_pass tcp://127.0.0.1:5678;
}

Установка слишком малого таймаута может привести к преждевременным разрывам соединения, особенно в сетях с высокой задержкой.

Если вы используете HTTP/1.1 или keep-alive соединения, убедитесь, что этот таймаут сбалансирован с другими таймаутами, чтобы предотвратить неожиданные разрывы.

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