FFserver和Apache在同一个端口上

我刚刚在我的专用服务器上安装了apache&ffserver的全新安装。 一切工作正常,我可以玩我的电影FlashPlayer(因为我编码我的stream在H264 / AAC)由我的Apache服务。 但是Flash Player在ffserver的端口上播放stream(8090)。 有些人在防火墙后面,因为8090被我们阻塞,所以无法玩我的生活。 我怎样才能只使用端口80?

在此先感谢,请原谅我可怜的英语!

只有一个服务可以在任何时候监听给定的IP和端口组合。

你可能有两个select:

  1. 将端口80上的ffmpeg绑定到不同的IP并设置单独的主机名。
  2. 让Apache使用mod_proxy透明地redirect请求。

考虑使用像nginx这样的反向代理。 在8080端口上移动apache,让ffserver在8090上,并在80上设置nginx。

然后configurationnginx来代理位置/video的请求,例如,127.0.0.1:8090和其他所有的127.0.0.1:8080。 这将帮助你。

现在客户端只连接80端口。

正如前面提到的,设置mod_proxy可能是最简单的方法之一,因为所有你需要做的就是添加一个configuration到你已经拥有的apache。

如果你想用mod_rewrite做一个特定的URL在同一个主机名下…就像你把www.yourhost.com作为apache,以及/ ffserver下的所有东西一样,你可以这样做:

重写引擎

RewriteRule ^ / video / $ 1 http://127.0.0.1:8900/ $ 1 [P,L]

ProxyPassReverse / http://127.0.0.1:8900

如果你想把它保留在同一个硬件上,但不在乎是否parsing成相同的名字,你也可以在不同的IP地址上设置一个虚拟networking接口,这样eth0就是运行在192.168.1.1和ffserver上的apache eth0:1,IP地址为192.168.1.2。 然后他们可以在DNS中各自拥有自己的名字,并且由于它们是不同的接口,所以可以在同一个盒子上在端口80上运行两个服务。

http://ffmpeg.org/sample.html

听起来就像你在configuration文件中设置端口并重新启动ff服务器?

我不熟悉这个,但它应该是一个简单的修复。

你可以只有一个应用程序在一个给定的端口上侦听,所以很短 – 在端口80上不可能有两个应用程序。然而有一些方法,可能是http://httpd.apache.org/docs/2.2/mod/ mod_proxy.html会给你一些想法。 基本上find了一个通过Apache的ffserverstream量的方式。