Re: Прямое проксирование

Maxim Dounin mdounin на mdounin.ru
Вт Июн 8 18:14:08 MSD 2010


Hello!

On Mon, Jun 07, 2010 at 04:04:38AM -0400, XMan wrote:

> Hi all :)
> 
> Вобщем, досталась мне ip-камера, к которой нужно прикрутить 
> доступ через сайт. Для этого берется nginx и строится 
> проксирование на родной web-интерфейс этой камеры. Результат 
> загоняется, например, в отдельный iframe.
> 
> Для начала делаем простой конфиг для nginx:
> 
>  location / {
>     proxy_pass   http://192.168.101.20:80;
>     proxy_buffering off;
> }
> 
> Буферизацию выключаем, ибо местами имеет место быть видеопоток.
> Заходим на камеру - всё работает. Заходим на nginx - всё 
> работает, кроме видеопотока - он отсутвует как класс и в отладке 
> java-апплета, который его показывает, валятся всякие сообщения. 
> Смотрим лог nginx и наблюдаем:
> 
> 2010/06/06 22:18:55 [error] 7412#0: *11 upstream sent no valid HTTP/1.0 header while reading response header from upstream, client: 192.168.101.29, server: _, request: "GET /cgi/web_event.cgi HTTP/1.1", upstream: "http://192.168.101.20:80/cgi/web_event.cgi", host: "192.168.101.29:81"
> 
> Собственно, вопрос - можно ли как-то отключить анализ передаваемой от апстрима клиенту информации?
> Даже если это и не http-ответ, пусть с ним разбирается клиентское приложение, а не nginx.

Упомянутое сообщение в error log'е - это не фатальная ошибка, 
nginx продолжит работать с бекендом, предполагая что тот 
возвращает ответ по HTTP/0.9.

Надо разбираться что именно не нравится java-applet'у в приходящем 
с nginx'а потоке.  Для начала я бы рекомендовал сделать debug log, 
а равно снять tcpdump'ом ответы камеры напрямую (когда работает) и 
nginx'а (когда не работает).

Maxim Dounin



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