从视频上传提示CORS跨域配置问题到精准熟悉关于云点播VOD知识问题-优雅草卓伊凡

云计算云通信网络协议
从视频上传提示CORS跨域配置问题到精准熟悉关于云点播VOD知识问题-优雅草卓伊凡

解决视频不能上传,衍生到了 cors跨域问题,跨域问题又衍生到了 视频点播问题,这是我们最近的甲方黑曼巴知识付费即将上线遇到的问题,这个系统是购买了crmeb知识付费系统并且进行深度二开的。

picture.image

表面上 是个跨域问题

上传视频 提示错误 为 Access to XMLHttpRequest at ‘https://heimanbaoss.oss-cn-beijing.aliyuncs.com/‘ from origin ‘https://www.blackmamba.ltd‘ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
plupload.full.min.js:14 POST https://heimanbaoss.oss-cn-beijing.aliyuncs.com/ net::ERR_FAILED

实际应该不对,因为按道理 我们上传图片都可以 为什么上传视频就不可以呢

以下是常规解决跨域问题,但是在实际操作中是不可能这样做的。

解决阿里云OSS上传视频时的CORS跨域错误

遇到的错误是由于浏览器安全策略(CORS)导致的跨域问题。当您从网站blackmamba.ltd向阿里云OSS(heimanbaoss.oss-cn-beijing.aliyuncs.com)上传文件时,OSS服务器没有返回正确的CORS响应头。

解决方案

1. 配置阿里云OSS的CORS规则

您需要在阿里云OSS控制台为您的Bucket设置CORS规则:

  1. 登录阿里云OSS控制台
  2. 选择您的Bucket(heimanbaoss)
  3. 点击”权限管理” > “跨域设置”
  4. 点击”设置”添加新的CORS规则:
来源:https://www.blackmamba.ltd
允许Methods:POST, GET, PUT, DELETE, HEAD
允许Headers:*
暴露Headers:ETag, x-oss-request-id
缓存时间:3600

2. 检查CRMeb的上传配置

确保CRMeb系统中的OSS配置正确:

  • 检查Endpoint是否正确(oss-cn-beijing.aliyuncs.com
  • 确认AccessKey ID和AccessKey Secret正确
  • 确认Bucket名称(heimanbaoss)拼写正确

3. 临时解决方案(不推荐)

如果您需要快速测试,可以暂时:

  1. 在Chrome浏览器启动时添加--disable-web-security参数(仅用于测试)
  2. 或安装CORS解除插件(仅开发环境使用)

4. 检查上传代码

确保您的上传请求包含正确的headers:

headers: {
  'Access-Control-Allow-Origin': 'https://www.blackmamba.ltd',
  'Content-Type': 'multipart/form-data'
}

果然 我们在配置中发现

picture.image

既然如此卓伊凡就到阿里云官网去找这个服务

picture.image

阿里云视频点播服务(VOD)配置指南

您遇到的问题确实是因为未正确配置阿里云视频点播服务(VOD)导致的。阿里云视频点播(Video on Demand, VOD)是阿里云提供的专业音视频上传、存储、转码、分发和播放的一站式解决方案。

阿里云视频点播(VOD)与OSS的区别

  1. OSS(对象存储) :单纯的文件存储服务,没有视频专用处理功能
  2. VOD(视频点播) :专为视频设计的服务,包含:
    • 自动转码(多种分辨率/格式)
    • 内容审核
    • 视频加密
    • 播放统计
    • 全球加速分发

配置阿里云VOD的完整步骤

第一步:开通阿里云VOD服务

  1. 登录阿里云VOD控制台
  2. 开通视频点播服务(首次使用需要开通)
  3. 完成企业实名认证(视频服务需要)

第二步:获取必要配置信息

  1. 在VOD控制台获取:
    • 接入区域:如cn-shanghai
    • 访问密钥:AccessKey ID和AccessKey Secret
    • 默认存储地址:在”媒体管理”>”存储管理”中查看

第三步:CRMeb后台配置

  1. 登录CRMeb后台管理系统
  2. 进入”系统设置”>”视频点播配置”或类似菜单
  3. 填写以下信息:
服务提供商:阿里云VOD
Region ID:cn-shanghai (根据您实际的区域)
AccessKey ID:您的阿里云AccessKey
AccessKey Secret:对应的密钥
存储位置:默认或您指定的存储路径
回调地址:您的域名/callback/vod (如有需要)

第四步:配置上传域名

  1. 在VOD控制台进入”上传配置”>”上传域名”
  2. 添加或绑定您的域名(如vod.blackmamba.ltd)
  3. 完成CNAME解析(需要DNS配置)

第五步:设置转码模板(可选但推荐)

  1. 进入”转码设置”>”转码模板”
  2. 创建适合您业务的转码模板(如:高清、标清)
  3. 设置默认转码模板组

第六步:配置CORS跨域访问

  1. 进入”全局设置”>”安全设置”
  2. 配置CORS规则:
    • 来源:https://www.blackmamba.ltd
    • 允许方法:GET, POST, PUT
    • 允许Headers:*
    • 缓存时间:3600

常见问题排查

  1. 上传失败
    • 检查AccessKey是否正确
    • 确认服务区域(Region)是否匹配
    • 检查网络连接是否正常
  1. 跨域问题
    • 确保CORS配置已保存并生效
    • 清除浏览器缓存后重试
  1. 视频无法播放
    • 检查转码模板是否配置正确
    • 确认播放器SDK是否正确集成

最佳实践建议

  1. 为视频服务单独创建RAM子账号,不要使用主账号AccessKey
  2. 设置存储生命周期规则,自动清理临时文件
  3. 启用内容审核功能,避免违规内容
  4. 配置CDN加速,提升用户观看体验

果然 如此 原来要在这里配置这个,不过我们参考了相关文档发现,我们关闭了vod,按道理我们就是用的是云储存,那么我们在云储存配置下跨域试试。

picture.image

我们进入跨域设置,按我们的要求设置

来源:https://www.blackmamba.ltd
允许Methods:POST, GET, PUT, DELETE, HEAD
允许Headers:*
暴露Headers:ETag, x-oss-request-id
缓存时间:3600

picture.image

搞定解决

picture.image

其实都已经研究到这里了 我们应该 开始多对跨域更加了解更好。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 GPU Scale-up 互联技术白皮书
近日,字节跳动正式发布基于以太网极致优化的 GPU Scale-up 互联技术白皮书,推出 EthLink 的创新网络方案,旨在为 AI 集群提供低延迟、高带宽的高速互联传输,满足 AI 应用对 GPU 之间高效通信的需求。这一举措标志着字节跳动在 AI 基础设施领域的突破,有望推动通用人工智能(AGI)和大语言模型(LLM)的进一步发展。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论