Supervisord inet_http_server por trás do nginx

2

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.

    
por Nikolay Fominyh 19.01.2014 / 10:52

2 respostas

3

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;
    
por 21.01.2014 / 23:24
3

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       "";
  }
}
    
por 07.03.2017 / 20:49