OSS 咨询

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: CDN + OSS 模式,OSS 地址被暴露后如何处理 用户可以将 OSS 设置为私有,在阿里云 CDN 上设置私有回原,然后在 CDN 上针对不想让人访问的 OSS 资源 prefix 做正则匹配,拒绝请求。或者在 CDN 上设置鉴权,拒绝没有授权的访问。

浅谈

本章介绍一些基本的 oss 的咨询内容,问题是一直在补充的,不定期的进行更新;

问:cdn 结合 oss,oss 地址被暴露后如何处理

答:

  • 暴露后无法组织别人访问你,先将 bucket private 设置为私有禁止读写。
  • 在阿里 cdn 上开启私有回源 oss 功能,让所有请求只能通过 cdn 回源。
  • cdn 上开启鉴权,所有访问必须携带授权的合法秘钥。

问:跨国访问超过 1s 优化建议?

答:

  • 在国外北美或者亚太 region 新建一个海外的 bucket 。
  • 如果方便的情况下,可以购买一台和 bucket 同 region 的 ECS 走内网上传,也会提升性能。
  • bucket 初始化的代码把 crc64 关掉,也可以优化上传的性能。
  1. = oss2.Bucket(auth, 'endpoint', 'bucket',enable_crc=False)

问:oss bucket 怎么提高数量?

答:

  • oss bucket 默认是 30 个,合理的利用 bucket preifx 和 RAM 策略可以给每一个用户配置一个单独的 prefix 即可,这样一劳永逸。
  • 如果特殊业务需求提供工单到阿里云再分析处理。

问:ossutil64 有限速功能吗?

答:

  • 可以通过两个参数控制下多文件的上传并发 -jobs -parallel
  • 限速功能是一个后期规划。

问:访问 OSS 比较慢有什么优化建议?

答:

  • 使用内网地址访问 OSS
  • CDN + OSS 的模式服务
  • 大文件使用断点上传、下载(既能分片还能断点)

问:文件被删除怎么查

答:最好先开通 oss log 功能后自己查询,如果之前没有开启 log ,很难查到,可以尝试提交工单找到阿里云进行处理。

问:文件进行压缩的条件

答:

  • Conetnt-Type 必须是以下几种之一:
    “text/cache-manifest” “text/xml” “text/plain” “text/css” “application/javascript” “application/x-javascript” “application/rss+xml”
  • 客户端发起的请求中必须要含有 "content-Encoding:gzip" 头才可以。

问:事件通知不生效

  • 如果是控制台上传必须要配置 postobject 通知类型,最好配置全部类型的事件通知,一劳永逸。
  • 确认是否上传成功,标准是 oss 返回的上传状态码是 200 ,并且 response header 中必须有 requestID。
  • 确认 oss 设置的 mns 通知队列或者 topic 是否正常,有没有写错,是否可以正常收到消息。
  • 客户端的通知地址网络、应用是否正常。
  • 设置的触发 prefix 是否正确。

问:You have no right to access this object because of bucket acl

答:

  • OSS 私有的,用户没权限访问。
  • 用户访问的文件是归档的没有解冻。
  • OSS 私有的,用户访问携带的鉴权信息不对。
  • 用户请求 OSS 是用子账号请求,子账号的策略不够。

问:浏览器播放视频有声音没视频,本地播放正常

答:
如果是本地播放起可以播放可以证明 oss 的文件没问题,就是浏览器兼容问题,可以通过这个工具检测一下 tool

问:InvalidPolicyDocument

答:用户的请求中出现一个非法操作参数 “Content-type” 请检查用户是否在策略中配置了。

问:本地计算的 MD5 源文件和 Content-MD5 一致 但是报 InvalidDigest

5
答:

  • OSS 的接收到的 MD5 value 值必须是大写的
  • OSS md5 要求是 128bit 的值然后经过 base64 编码得到 24 位。
  • Content-MD5 要大写。

问:Header 签名中如何添加过期时间

答:OSS Header 签名的方式不支持定义过期时间。

问:Android-SDK 目前支持 Android9.0 ?

答:支持

问:OSS 生命周期生效时间

答:执行时间为不大于用户设置过期 Days + 2天 ,举例 ,当前上传了一个 文件 ,last-modify 是 11 19 号,12:00,保留时间 30 天 执行计划任务的时间就是,11 19 12:00 + 30 天 + 2天 = 12 21 号会执行删除(不超过这个时间点)

问:批量删除 OSS 的文件

答:

  • 第一种,如果文件在不同的 prefix 下,prefix 彼此同级,可以多次调用 ossutil 去删除。
  • 第二种,通过 SDK 删除,在程序中通过 thread 多线程调用 delete ,传入不通的 prefix 删除,可以参考。 删除

问:存在 OSS 的视频文件通过浏览器不能播放

答:

  • 先把文件下载本地看是否能播放,本地可以播放,放到浏览器不行那就说明视频的编码可能出现问题浏览器不能解码导致。
  • 可以用 ffprobe 或者 ffplay 播放一起看看有什么异常信息,如下视频出现 TNS 错误,浏览器无法解码播放。
    1

问:The bucket you are attempting to access must be addressed using the specified endpoint.Please send all future requests to this endpoint.

答:

  • 访问 CDN 的账号和 bucket 不是一个。
  • 客户访问的 bucket 和 endpoint 写错。
  • 客户通过域名访问,域名没有和 OSS 绑定。
  • OSS 通过 CDN 访问,回原到 OSS 没有加 host 头信息。

问:访问 OSS 发生 301 跳转

答:

  • 先直接固定 OSS 访问,使用 https 测试,如果发生了 301 ,再继续检查下自己的回原设置,如果设置匹配前缀后者其他目录规则的,就触发了 301 跳转,属于正常现象
  • 如果客户没有设置 301 ,可以直接切成 https ,然后抓包看下是否被劫持了。

问:OSS 上传后没有回调没通知

答:

  • 事件通知 10 分钟后才能生效;
  • 控制台上传要配置 postobject 回调;
  • 确认文件是否上传成功,只有返回 http.status==200 && requestID !=None 才算成功,其他并不保证是准确的判断;
  • 如果以上都已经确认正常,那就是 mns 没有将消息发出去;

问:为什么 oss 的资源会自动加上 Content-Disposition

答:

  • 由于网络安全的管理要求,所有存在 oss 的资源不能直接作为网页直接展示,必须要加上 Content-Disposition: attachment; filename={filename}
  • 只有在 oss 绑定了自己备案的域名后才能在线展示出来。
    绑定好域名后,oss 会自动将 Content-Disposition 去掉,不用手动操作。

问:阿里云oss browser上传文件如何跳过已经存在的。

答: 不支持

问:nginx proxy 到 OSS 异常

答:类似问题请检查下 OSS 控制台上,域名绑定是否已经关联了用户的域名,如果没有请绑定域名,否则访问会出现异常,或者用户将回源的 host 改为 OSS 的访问域名也可。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
1月前
|
Java API 开发工具
如何用阿里云 oss 下载文件
阿里云对象存储服务(OSS)提供了多种方式下载文件,以下讲解下各种方式的下载方法
842 1
|
1月前
|
存储 安全 对象存储
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
本文详细介绍了怎样帮助新手小白从注册,购买阿里云OSS,到一步一步配置OSS做为图床,和PicGo、Typora软件连接,配置好关联之后,在使用Typora写文章时,如果需要插入图片,只需要将图片复制粘贴到Typora的编辑区域,就会自动通过PicGo上传到指定图床,自动复制外网能访问的URL并展示,简直不要太方便,极大的解决了编辑文章时复制处理图片链接的痛点。
170 2
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
|
2月前
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
176 1
|
1月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
3月前
|
存储 Java 对象存储
springboot配置阿里云OSS存储实现文件上传下载功能
【1月更文挑战第1天】springboot配置阿里云OSS存储实现文件上传下载功能
553 2
|
3月前
|
Cloud Native Java 开发工具
云原生 阿里云分布式文件系统 对象存储OSS 服务配置
【1月更文挑战第8天】云原生 阿里云分布式文件系统 对象存储OSS 服务配置
|
2天前
|
存储 开发工具 对象存储
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
9 0
|
9天前
|
存储 Java API
阿里云oss简介和使用流程
本文档介绍了如何准备阿里云OSS(对象存储服务)并开始使用它。首先,需要注册阿里云账号并进行实名认证,然后购买OSS资源包。在阿里云控制台中,可以创建和管理OSS存储空间(称为“Bucket”)。接着,文章简要介绍了阿里云OSS,它是一个基于云端的对象存储服务,提供高可靠性、高性能、低成本和易于使用的特性。 在阿里云OSS控制台,用户可以进行文件的上传和下载操作。通过API,开发者可以使用各种编程语言(如Java)来创建、删除Bucket以及上传、下载和删除文件。例如,Java代码示例展示了如何创建Bucket、上传文件、删除文件以及下载文件到本地的操作。
|
16天前
|
开发工具 对象存储
阿里云OSS文件上传
阿里云OSS文件上传
57 0
|
16天前
|
存储 缓存 Java
阿里云OSS实战从入门到大神
说起阿里云OSS,那作用和功能都是非常强大的,它可以存放图片,音频,视频等资源文件,这些资源文件,你不必存放到服务器的硬盘里,这样既可以节省服务器硬盘空间,又可以降低服务器的读写压力,非常适合大并发的架构。
55 0

热门文章

最新文章