Я только что установил новую установку apache и ffserver на свой выделенный сервер. Все работает нормально, и я могу воспроизвести свой фильм во флеш-плеере (потому что я кодирую свой поток в H264 / AAC), обслуживаемом моим apache. Но flashplayer проигрывает поток на порту ffserver'а (8090 для меня). Некоторые люди находятся за брандмауэром и не могут играть вживую, потому что 8090 заблокирован для нас. Как я могу использовать только порт 80?
Заранее спасибо и извините за плохой английский!
Рассмотрите возможность использования обратного прокси, такого как nginx. Переместите apache на порт 8080, пусть ffserver будет на 8090 и настройте nginx на 80.
Затем настройте nginx для прокси-запросов для местоположения / видео, например, на 127.0.0.1:8090, а все остальное - на 127.0.0.1:8080. это поможет вам.
Теперь клиенты подключаются только по 80 порту.
Только одна служба может прослушивать заданную комбинацию IP-адреса и порта одновременно.
У вас, вероятно, есть два варианта:
Как упоминалось ранее, настройка mod_proxy, вероятно, является одним из самых простых способов, потому что все, что вам нужно сделать, это добавить конфигурацию в apache, которая у вас уже есть.
Если вы хотите сделать это с помощью mod_rewrite для определенного URL-адреса под тем же именем хоста ... Например, если у вас есть www.yourhost.com в качестве apache и все, что находится в / video, поступающее с ffserver, вы можете сделать:
RewriteEngine на
RewriteRule ^ / video / $ 1 http://127.0.0.1:8900/$ 1 [P, L]
ProxyPassReverse / http://127.0.0.1:8900
Если вы хотите сохранить его на том же оборудовании, но не заботитесь о том, разрешаются ли они с одним и тем же именем, вы также можете настроить виртуальный сетевой интерфейс на другом IP-адресе, чтобы eth0 был apache, работающим на 192.168.1.1, и ffserver. на eth0: 1 с IP-адресом 192.168.1.2. Тогда каждый из них может иметь собственное имя в DNS, и, поскольку это разные интерфейсы, у вас может быть 2 службы, работающие на порту 80 в одном и том же устройстве.
Похоже, вы установили порт в файле конфигурации и перезапустили сервер ff?
Я не знаком с этим, но это должно быть простое решение.
У вас может быть только одно приложение, прослушивающее данный порт, поэтому кратко - невозможно иметь оба на порту 80. Однако есть способы обойти это и, возможно, http://httpd.apache.org/docs/2.2/mod/mod_proxy.html даст вам несколько идей. В основном найдите способ прохождения трафика ffserver через apache.