0

我们正在使用 seaweedFS 来保存我们的图像和 mp4 视频文件。现在,我们计划将 HLS 文件保存在 seaweedFS 上。一切都很完美,HLS 文件现在保存在 seaweedFS 上,但是当我们尝试在 HTML5 视频播放器中使用 HLS URL 时,它会给出以下警告:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://{seaweedFS-URL}/gpocam/timelapses/testt-ymgqr/index.m3u8. (Reason: CORS header 'Access-Control-Allow-Origin' missing).

当我在 VLC 中使用相同的 URL 时,它可以工作,但不能在浏览器的播放器中工作。任何人都可以在这里指出问题吗?

4

1 回答 1

0

NGINX在 seaweedFS 前面使用了添加额外的标头。使用这种方式我解决了我的问题。

这是 NGINX 配置:

upstream media_evercam {
            server 127.0.0.1:8888;
    }

    more_set_headers 'Access-Control-Allow-Origin: *';
    more_set_headers "Content-Type: $upstream_http_content_type";

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    server {
            listen 80;
            server_name localhost;

            location / {
                    proxy_pass http://media_evercam;
                    proxy_connect_timeout 60s;
            }
    }
于 2017-04-03T12:51:40.307 回答