использование URI в STREAM апстримах

alexstream nginx-forum на nginx.us
Ср Июл 22 21:56:06 UTC 2015


Доброго времени суток.
nginx 1.9.3. Используя stream-модуль в nginx, собираю апстрим из нескольких
бэкендов для получения видеопотока с любого из них. Вся проблема в том, что
nginx не позволяет указать в секции upstream после имени сервера еще и
запрашиваемый uri, что неудобно, т.к. многие стриминговые серверы отдают
разные стримы в зависимости от от запроса.
Т.е. сейчас я могу указать лишь примерно так:
upstream test1 {
    hash $remote_addr consistent;
    server 1.1.1.1:1111 max_fails=1 fail_timeout=2;
    server 2.2.2.2:2222 max_fails=1 fail_timeout=2;
}

а хотелось бы иметь возможность указывать так:
upstream test1 {
    hash $remote_addr consistent;
    server 1.1.1.1:1111/stream1 max_fails=1 fail_timeout=2;
    server 2.2.2.2:2222/stream2 max_fails=1 fail_timeout=2;
}


В случае секции http можно было указывать нужный uri в секции proxy_pass,
указывавшей на данный апстрим. Например так
proxy_pass http://test1/123;

Но в случае stream модуля такого сделать, к сожалению, нельзя (возникает
ошибка)!!!

Вопрос: можно ли именно в секции stream (!!!) указывать nginx, какой uri
запрашивать с бэкенда. Если да, то как?

Вариант с использованием http с дальнейшим проксированием запросов на stream
server не предлагать. Хотелось бы организовать все именно в рамках одного
stream модуля.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,260496,260496#msg-260496



Подробная информация о списке рассылки nginx-ru