У нас есть супервайзер [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;