Estou usando o NGINX como um componente em meu sistema que aceita conteúdo transmitido de clientes (digamos, por RTMP) e passa para algum serviço interno para processamento. O serviço interno busca o conteúdo do NGINX sobre HTTP.
Mas eu não quero esperar até que o cliente tenha transmitido todo o seu conteúdo antes de começar o processamento, então gostaria que o serviço interno começasse a buscar o conteúdo assim que o primeiro byte se tornar disponível - o problema é que, se o cliente for mais lento do que a velocidade com que o serviço interno pode puxar do NGINX (o que é sempre o caso), o NGINX alcança o atual final do arquivo e para de servir o conteúdo.
Existe uma maneira de fazer o NGINX começar a exibir um arquivo cujo tamanho final é desconhecido (obviamente com Transfer-Encoding: chunked) e não terminar a conexão até que todos os dados (ainda a serem fornecidos) tenham sido enviados? / p>
Eu tentei servir o conteúdo de um FIFO, mas o NGINX simplesmente ignora o FIFO retornando 404 Not Found. Eu também olhei para o módulo NGINX HLS, mas isso parece exigir que os arquivos estejam no formato MPEG-4, o que não é aplicável ao meu caso de uso.
Tags nginx http-streaming