HTTP потоковый сервер за nginx?

Я пытаюсь настроить потоковый сервер HTTP, который я написал с Tornado и python. По сути, это поддерживает связь и иногда сбрасывает информацию. Это немного похоже на длинный опрос, за исключением того, что сервер не разрывает соединение.

Можно ли поставить что-то подобное за nginx? Я тестирую его из своего браузера и не вижу никаких выходных данных, пока сервер не разорвет соединение, а затем все сразу отправляется.

2 ответа

Решение

Вам необходимо отключить proxy_buffering для потоковых запросов. Если все запросы к бэкэнду будут потоковыми, вы можете просто использовать proxy_buffering. Как указано в этой записи, вы также можете управлять буферизацией для каждого запроса, включив в свой бэкэнд заголовок X-Accel-Buffering для включения или выключения буферизации.

Просто предположение. Выключен ли tcp_nodelay? Он включен по умолчанию, если не выключен. Документация Nginx

Другие вопросы по тегам