У меня есть Nginx на Openwrt BB (wndr3800) с обратным проксированием на IP-камеру dlink 932LB1, и он работает хорошо. Никаких существенных задержек, даже до того, как я отключил proxy_buffering. Если у меня много вещей, передаваемых по сети, видео может стать прерывистым, но не больше, чем при прямой ссылке на камеру из браузера (или из любого из моих приложений IP-камеры). Так что можно.
Мне подошел Nginx. Я попробовал tinyproxy и lighttpd для обратного проксирования, но у каждого из них отсутствуют функции OpenWrt. И tinyproxy, и lighttpd требуют пользовательской компиляции для всех функций обратного прокси, и (насколько мне известно) lighttpd не будет принимать полные доменные имена в директиве прокси.
Вот что у меня происходит:
- Базовая или дайджест-аутентификация на общедоступном Nginx обеспечивает контроль доступа на всем сайте.
- Я проксирую свои CGI-скрипты (shell, haserl и т. д.) на uhttpd Openwrt.
- Жестко контролируемый обратный прокси-сервер для камеры mjpeg и jpeg API, никакие другие функции камеры не доступны публике.
- Базовая аутентификация камеры обрабатывается Nginx (proxy_set_header), поэтому внутренний код авторизации не раскрывается.
- Относительно небольшой размер (без perl, apache, ruby и т. д.).
Я бы включил сюда свой nginx.conf, за исключением того, что в нем нет ничего необычного... просто прокси-сервер. Вы можете попробовать tcpdump или wireshark, чтобы увидеть, что загромождает вашу локальную сеть, если трафик действительно является вашим виновником.
Но похоже, что что-то в вашем маршрутизаторе является причиной задержки. Возможно, аппаратное обеспечение просто не справляется с нагрузкой процессора/трафика, или в вашей установке Openwrt может быть что-то еще, что перегружает шоссе. Ваше видео плавное и просто задерживается? Или вы видите серьезно прерывистое видео? Упомянутая вами задержка удлинения звучит как буфер/кеш... но я не знаю, что бы это делало.
person
wbr
schedule
03.06.2015