Я пытаюсь настроить сервер потоковой передачи HTTP, который я написал с помощью Tornado и python. По сути, он поддерживает соединение и иногда сбрасывает информацию. Это немного похоже на длинный опрос, за исключением того, что соединение не прерывается сервером.
Можно ли поставить что-то подобное за nginx? Я тестирую его в своем браузере и не вижу никаких выходных данных, пока сервер не разорвет соединение, а затем все отправлено сразу.
Вам необходимо отключить proxy_buffering для потоковых запросов. Если все запросы к бэкэнду будут потоковыми, вы можете просто использовать proxy_buffering. Как указано в этой записи, вы также можете управлять буферизацией для каждого запроса, включив в свой бэкэнд заголовок X-Accel-Buffering для включения или выключения буферизации.
Просто предположение. Tcp_nodelay выключен? По умолчанию он включен, если не выключен. Документация Nginx