Hello! On Tue, Feb 19, 2019 at 10:15:17AM -0500, darksmoke wrote:
> Добрый день > Помогите, пожалуйста, разобраться как это работает. > Есть фронт который шлет запрос на бэк (Клиент - nginx - бэк). > Клиент послал запрос, nginx его спроксировал на бэк. На бэки запрос курится > что то делает очень долго. Клиент уже не хочет ждать и уходит. Как разорвать > это соединение на бэке? > Т.е. Клиент устоновил соединение с nginx, а nginx с бэком. Клиент разорвал > соединение с nginx, а nginx продолжает ждать запрос от бэка, а вот как раз > хочу что бы не продолжал. Что бы разорвал соединение. По умолчанию nginx разрывает соединение с бэкендом, если клиент закрывает соединение. И пишет при этом в лог на уровне info: ... client prematurely closed connection, so upstream connection is closed too ... Не разрывать может либо если вы об этом явно попросили в конфигурации (http:///nginx.org/r/proxy_ignore_client_abort), либо если включено кэширование/сохранение ответов (так как в этом случае ответ будет полезен даже если клиент закрыл соединение). Соответственно если ваша проблема в том, что nginx не закрывает соединение - для решения достаточно убрать настройки, которые не позволяют nginx'у это делать. Куда чаще, к сожалению, встречается ситуация, когда nginx соединение закрывает, а вот бэкенд никак не умеет это детектировать и обрабатывать. Но тут от nginx'а уже ничего не зависит. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru