Isso ocorre por design, pois o nginx aguarda até obter a resposta completa do backend, antes de enviar uma resposta ao cliente - O buffer de proxy está ativado por padrão .
Isso resolveria seu problema:
proxy_buffering off;
Temos o supervisord [inet_http_server]
em execução no 127.0.0.1:9001
.
Quando tentamos colocá-lo por trás do nginx - o logtail do supervisord para de funcionar.
Configurações da Supervisord:
[inet_http_server]
port = 127.0.0.1:9001
Configurações do Nginx:
server {
listen 80;
server_name server.com;
location / {
proxy_pass http://127.0.0.1:9001/;
}
}
Onde cavar? Comandos (Stop | Start | Restart) funcionando, somente o comando tail não funciona.
Isso ocorre por design, pois o nginx aguarda até obter a resposta completa do backend, antes de enviar uma resposta ao cliente - O buffer de proxy está ativado por padrão .
Isso resolveria seu problema:
proxy_buffering off;
Para adicionar as seguintes linhas trabalhadas: proxy_http_version 1.1;
e proxy_set_header Connection "";
Minha saída de supervisor de proxy de configuração de trabalho completa com trabalho de cauda baseado em web:
server {
listen 9000;
listen [::]:9000;
server_name server.gmetri.com;
location / {
proxy_pass http://localhost:4001;
proxy_http_version 1.1;
proxy_buffering off;
proxy_max_temp_file_size 0;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "";
}
}
Tags nginx supervisord