OSS中与Object的URL签名相关问题

概述

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

详细信息

与Object签名URL相关的常见问题如下:

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

有关Java代码示例,请参见授权访问的使用签名URL进行临时授权章节。

如何获取Object的URL签名

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

私有Bucket鉴权回源开启后通过CDN域名访问URL签名报错

请参见访问CDN加速资源返回403状态码

如何获取含有签名并且经过图片处理的资源URL

您可以通过OSS管理控制台直接获取含有签名并且结果图片处理的URL,也可以通过各个语言的SDK生成带签名和图片处理的URL,详情如下。

通过管理控制台获取

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

通过各个语言的SDK生成

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

HEAD请求OSS的URL签名报403错误

通过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 22 Jun 19822-Jun-82都是非法日期格式。
  • 如果签名验证的时候,消息头部没有传入Date或者格式不正确,返回403 Forbidden错误。错误码为AccessDenied
  • 传入请求的时间必须在OSS服务器当前时间之后的15分钟以内,否则返回403 Forbidden。错误码为RequestTimeTooSkewed
  • 如果AccessKeyIdActive,但OSS判断用户的请求发生签名错误,则返回403 Forbidden,并在返回给用户的Response中告诉用户正确的用于验证加密的签名字符串。用户可以根据OSS的Response来检查自己的签名字符串是否正确。

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

适用于

  • 对象存储OSS