proxy_connect_timeout
Директива `proxy_connect_timeout` задаёт максимальное время ожидания установления соединения с проксируемым сервером.
Описание
В контексте 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 соединения, убедитесь, что этот таймаут сбалансирован с другими таймаутами, чтобы предотвратить неожиданные разрывы.