所以我一直在尝试让HLS通过HTTPS工作。 这似乎是一项简单的任务,但我遇到了障碍。
我可以毫无问题地通过HTTP进行HLS流式传输,因为它非常简单。 但是,一旦我切换到HTTPS,我的非客户端似乎就可以播放它。 我研究过的大多数帖子都想谈论加密HLS内容,但我并不在乎。 我只想服务它。
我还注意到客户端正在下载.m3u8,但我的猜测是块没有,这就是流错误的原因。 此外,用于调试的chrome工具显示视频对象上的任何错误。
这是我的nginx配置:
# # HTTP服务器 # 服务器 { 听80; server_name本地主机; 根/var/www/html; 指数指数.html指数.htm; 位置/hls/{ 类型 { application/vnd.apple.mpegurl m3u8; 视频/MP2T TS; } add_header缓存控制无缓存; try_files $uri $uri/=404; } } # # HTTPS 服务器 # 服务器 { 听 443; server_name本地主机; 根/var/www/html; 指数指数.html指数.htm; 上文台; ssl_certificate/etc/nginx/ssl/lab.company.com.crt; ssl_certificate_key/etc/nginx/ssl/lab.company.com.key; ssl_session_timeout 5米; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "高:!空:!MD5 或高:!空:!MD5:!3DES"; ssl_prefer_server_ciphers; 位置/hls/{ 类型 { application/vnd.apple.mpegurl m3u8; 视频/MP2T TS; } add_header缓存控制无缓存; try_files $uri $uri/=404; } }
这是一个配置问题。 您需要确保您未gzipping
,并且安全证书有效。