Столкнулся с проблемой при разработке приложения сложной балансировки по телу http запроса, в одном сокете от nginx могут прилетать данные от двух разных клиентов в нагрузке. Отладку приходится делать через ssh туннель с тестового сервера из-за разграничения сети.
Конфиг с указанием http 1.1
location / {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Connection $connection;
}
upstream backend{
server 127.0.0.1:12321;
keepalive 32;
}
- Без keepalive-параметра в upstream, nginx проксирует с заголовком keep-alive, а после ответа приложения закрывает соединение.
- С заголовком при низкой нагрузке проксирует ровно 1 в 1.
- При высокой nginx может в 1 сокет писать данные от 2-х клиентов, что мешает асинхронной структуре приложения.
Подскажите, пожалуйста, в какую сторону смотреть, какой параметр указывает на это поведение, если он есть.