具有可变IP地址的Nginx proxy_pass

时间:2015-03-13 13:44:06

标签: nginx wowza

我在wowza媒体服务器前使用nginx来缓存视频块。实时视频发布在wowza服务器上,wowza使它可以被HLS协议使用,HLS协议基本上是返回视频文件的一系列http GET调用。我的conf看起来像 -

location /live_proxy {
            proxy_cache my_zone;
            add_header X-Proxy-Cache $upstream_cache_status;
            proxy_cache_valid any   10m;

            proxy_pass http://wowza_server_ip:1935/live;
    }

以上配置有效。但是在这里你可以看到wowza_server_ip被硬编码到conf文件中。我有多个wowza服务器,它们将位于nginx服务器后面,并且可以在任何这些wowza服务器上发布实时流。我有一个外部api,它告诉我们哪个wowza服务器正在发布一个流。那么有没有一种方法可以通过查询参数传递ip地址,以便nginx可以请求相应的wowza服务器。

视频消费网址示例 - http://nginx_ip:8080/live_proxy/myStream/playlist.m3u8

1 个答案:

答案 0 :(得分:0)

使用上游:

upstream wowza_servers {
    server xxx.xxx.xxx.xxx: 1935;
    server xxx.xxx.xxx.xxx: 1935;
    server xxx.xxx.xxx.xxx: 1935;
}

location /live_proxy {
        proxy_cache my_zone;
        add_header X-Proxy-Cache $upstream_cache_status;
        proxy_cache_valid any   10m;

        proxy_pass http://wowza_servers/live;
}