Задать вопрос
@pinklisaped

Nginx, можно ли проксировать каждого клиента отдельным сокетом?

Столкнулся с проблемой при разработке приложения сложной балансировки по телу 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-х клиентов, что мешает асинхронной структуре приложения.


Подскажите, пожалуйста, в какую сторону смотреть, какой параметр указывает на это поведение, если он есть.
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы