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