全部产品
云市场

OSS的Object签名URL相关问题

更新时间:2019-09-08 18:04:40

概述

本文主要介绍OSS的Object签名URL相关问题。

 

详细信息

如何通过签名URL方式上传资源?

有关Java代码示例,请参考Java实现生成URL签名的代码示例

 

如何获取Object的签名URL?

请参考上传Object后如何获取访问URL

 

私有Bucket鉴权回源开启,通过CDN域名访问签名URL报错如何排查?

请参考访问CDN加速资源返回状态码403该如何处理

 

如何获取OSS图片处理的签名URL?

您可以通过OSS管理控制台直接获取图片签名URL,也可以通过各个语言的SDK生成带签名图片处理URL。

 

通过管理控制台获取

  1. 登录OSS 管理控制台
  2. 单击您的Bucket名字,进入Bucket概览页。
  3. 单击文件管理,选择一张已经存在的图片或者上传新图片,单击图片名称打开图片预览页。
  4. 从图片样式下拉列表中选择一个图片样式。有关图片样式设置,请参考快速使用OSS图片服务
    style
  5. 在文件预览窗口中确认经过图片处理后的图片效果。带有图片样式的公网访问地址也会同步生成,您只需单击复制文件URL就可获取到文件访问地址。

 

通过各个语言的SDK生成

语言 参考文档
Java 图片处理
Python 图片处理
.NET 图片处理
Node.js 图片处理
Browser.js 图片处理
PHP 图片处理
C 图片处理

 

为何HEAD请求OSS签名URL报403错误?

  • 如果传入的AccessKeyId不存在或Inactive,返回403 Forbidden。错误码为InvalidAccessKeyId。
  • 若用户请求头中Authorization值的格式不对,返回400 Bad Request。错误码为InvalidArgument。
  • OSS所有的请求都必须使用HTTP 1.1协议规定的GMT时间格式。其中,日期的格式为date1 = 2DIGIT SP month SP 4DIGIT; day month year (e.g., 02 Jun 1982)。上述日期格式中,“天”所占位数都是“2 DIGIT”。因此,“Jun 2”、“2 Jun 1982”和“2-Jun-82”都是非法日期格式。
  • 如果签名验证的时候,消息头部没有传入Date或者格式不正确,返回403 Forbidden错误。错误码为AccessDenied。
  • 传入请求的时间必须在OSS服务器当前时间之后的15分钟以内,否则返回403 Forbidden。错误码为RequestTimeTooSkewed。
  • 如果AccessKeyId为Active,但OSS判断用户的请求发生签名错误,则返回403 Forbidden,并在返回给用户的Response中告诉用户正确的用于验证加密的签名字符串。用户可以根据OSS的Response来检查自己的签名字符串是否正确。

详情可参见在Header中包含签名

 

适用于

  • 对象存储 OSS