Назад | Перейти на главную страницу

Супервизор inet_http_server за nginx

У нас есть супервайзер [inet_http_server] работает на 127.0.0.1:9001.

Когда мы пытаемся разместить его за nginx - журнал супервизора перестает работать.

Настройки супервизора:

[inet_http_server]
port = 127.0.0.1:9001

Настройки Nginx:

server {
    listen 80;
    server_name server.com;
    location / {
        proxy_pass http://127.0.0.1:9001/;
    }
}

Куда копать? (Stop | Start | Restart) команды работают, только хвостовая команда не работает.

Для меня сработало добавление следующих строк: proxy_http_version 1.1; и proxy_set_header Connection "";

Моя полная рабочая конфигурация проксирует вывод супервизора с веб-интерфейсом tail-f:

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       "";
  }
}

Это сделано намеренно, так как nginx ждет, пока не получит весь ответ от бэкэнда, прежде чем отправить ответ обратно клиенту - буферизация прокси включена по умолчанию.

Это решит вашу проблему:

proxy_buffering off;