解决M3U8提示has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header

环境:
后台:springboot_xxx.jar
代理:nginx
前端:vue
视频流:hls(m3u8)
视频播放器:vue-video-player

"vue-video-player": "^5.0.2",
"videojs-contrib-hls": "^5.15.0",

问题描述:
VUE按网上教程已经销毁播放流,在Windows电脑的chrome没问题,但是在苹果电脑的chrome和Windows的uc浏览器里不能二次播放,需要清空缓存才能播放。

destroyed() {
    this.$destroy();
  },
  

解决方案:
在nginx加以下配置:

 location ~* \.(m3u8|ts)$ {
                proxy_cache off;                                   # 禁用代理缓存
                expires -1;                                        # 禁用页面缓存
                proxy_pass http://example.com;                     # 反代目标 URL
                sub_filter_last_modified off;                      # 删除原始响应里的浏览器缓存值
                sub_filter_once off;                               # 替换所有匹配内容
                sub_filter_types *;                                # 匹配任何 MIME 类型

        }

你可能感兴趣的:(笔记,vue,nginx,java)