Nginx作为反向代理隐藏HLS源服务器

Nginx作为反向代理隐藏HLS源服务器,nginx,video-streaming,reverse-proxy,http-live-streaming,Nginx,Video Streaming,Reverse Proxy,Http Live Streaming,我不是nginx的专业人士或业余爱好者,只是知道如何谷歌很多,我需要帮助完成反向代理 我现在有一个主服务器,它处理连接,然后将客户机交给8个后端服务器中的一个,这些服务器以TS或HLS的形式提供流。我想在前端放置一个代理,它充当主服务器,但也提供流(我想是边缘服务器,但没有缓存),以便隐藏源服务器 我已经让它与TS一起工作,但我无法终身锻炼如何让它与HLS一起工作,无论我捕获了多少数据包。它可以很好地提取清单,但与TS不同,它不会从源服务器提取段 这是我到目前为止所做的代码(可能更干净,但这一切

我不是nginx的专业人士或业余爱好者,只是知道如何谷歌很多,我需要帮助完成反向代理

我现在有一个主服务器,它处理连接,然后将客户机交给8个后端服务器中的一个,这些服务器以TS或HLS的形式提供流。我想在前端放置一个代理,它充当主服务器,但也提供流(我想是边缘服务器,但没有缓存),以便隐藏源服务器

我已经让它与TS一起工作,但我无法终身锻炼如何让它与HLS一起工作,无论我捕获了多少数据包。它可以很好地提取清单,但与TS不同,它不会从源服务器提取段

这是我到目前为止所做的代码(可能更干净,但这一切都是通过谷歌完成的)

如果我删除 上的代理截获错误; 错误\u第301页302 307=@handle\u重定向; 来自.mm3u8位置块HLS的数据将起作用,但将由源服务器直接传送到最终客户端,而不是通过代理

非常感谢您的帮助

提前谢谢

server {
listen 80;
server_name proxy_IP_here;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;

location ~ .(m3u8|mpd)$ {
proxy_pass backend_IP_for_Main;
proxy_intercept_errors on;
error_page 301 302 307 = @handle_redirects;
}

}
location / {
proxy_pass backend_IP_for_Main;
sub_filter 'dns_i_have_it_fildering_here' 'proxy_IP_here';
sub_filter_once off;
sub_filter_types text/javascript application/json;
proxy_intercept_errors on;
error_page 301 302 307 = @handle_redirects;
}
location @handle_redirects {
set $saved_redirect_location '$upstream_http_location';
proxy_pass $saved_redirect_location;
}
}