Доброго времени суток.
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 модуля.
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 модуля.