OSS 403错误及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
UserDisable.UserDisable错误
当您访问OSS遇到如下的UserDisable错误:
<Code>UserDisable</Code>
<Message>UserDisable</Message>
有以下两类原因:
欠费被禁。确认欠费方法如下,在控制台上打开费用中心,检查是否欠费。如果有欠费,请及时充值。
OSS欠费后,还可以正常使用24小时,24小时后禁止访问;历史数据保留15天,15天后历史数据将被删除。当您在消息中心看到“阿里云OSS欠费提醒”后,请及时充值,不会影响您的正常使用。
安全原因被禁。请在控制台上打开消息中心,在右侧的安全消息中查看违规通知。违规的原因有很多,比如您使用OSS做私服,您的图片涉黄、涉暴等。
当您有“安全消息”时,请立即按照消息中的指示做相应处理,以免影响您的使用和信用。比如当您看到如下的“OSS违规文件冻结处理通知”消息时,请马上删除违规文件。
注意:如果您有账户处于被禁状态,请务必处理;重新申请新账户,无法保证正常使用。
RequestTimeTooSkewed.The difference between…错误
访问OSS遇到如下的RequestTimeTooSkewed错误:
<Code>RequestTimeTooSkewed</Code>
<Message>The difference between the request time and the current time is too large.</Message>
原因是,您发送请求的时间与OSS收到请求的时间,间隔超出了15分钟,OSS从安全考虑认为该请求是无效的,返回上述错误。请检查发送请求设备的系统时间,并根据时区调整到正确时间。
您可能会有下面的疑问:
发送请求的机器或设备的系统时间,调整标准是什么呢?
OSS的系统时间采用GMT时间,您的设备的系统时间,需要调整到GMT时间,或与其相对应的时区时间。GMT(Greenwich Mean Time)是零时区的区时,即世界标准时间。例如,您的访问OSS的设备系统配置是东八区,系统时间调整到比GMT早8小时;其它类似。我国的标准时间—北京时间—就是东八区时间。如果您的系统时间是东八区,那么您的系统时间调整到北京时间即可。Windows系统查看时区的方法。通过 控制面板 > 时钟、语言和区域 > 设置日期和时间 打开日期和时间, 时区 栏的 +08:00,表示您的设备时区是东八区。
如果您的系统是Linux/Unix,请执行 date -R 查看时间和时区。下图中的 +0800,表示您的设备系统时区是东八区。
- 使用多个地域的OSS,比如杭州、新加坡、美国,时间同步有问题吗?
没有问题。每个地域的OSS都使用GMT时间,您发送请求的设备系统时间也是GMT时间。
InvalidAccessKeyId.The OSS Access Key Id…错误
访问OSS遇到如下的错误:
<Code>InvalidAccessKeyId</Code>
<Message>The OSS Access Key Id you provided does not exist in our records.</Message>
原因是,您的AccessKeyID禁用或不存在。排查方法如下:登录阿里云控制台的 AccessKey 管理,确认访问OSS使用的AccessKeyID存在且处于启用状态。
- 如果您的AccessKeyID处于禁用状态,请开启。
- 如果您的AccessKeyID不存在请创建,并使用新的AccessKeyID访问OSS。
AccessDenied.The bucket you are attempting to…错误
访问OSS遇到如下的错误:
<Code>AccessDenied</Code>
<Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message>
原因是:您访问bucket使用的Endpoint不正确,如果您需要了解Endpoint的详细信息,请参看OSS 基本概念。
怎么找到正确的Endpoint呢?如果SDK异常抛出如下的异常,或返回如下错误:
<Error>
<Code>AccessDenied</Code>
<Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message>
<RequestId>56EA98DE8158040021B23EE6</RequestId>
<HostId>my-oss-bucket-byb.oss-cn-qingdao.aliyuncs.com</HostId>
<Bucket>my-oss-bucket-byb</Bucket>
<Endpoint>oss-cn-hangzhou.aliyuncs.com</Endpoint>
</Error>
其中Endpoint
中的oss-cn-hangzhou.aliyuncs.com
就是正确的Endpoint,请使用https://oss-cn-hangzhou.aliyuncs.com
或https://oss-cn-hangzhou.aliyuncs.com
作为Endpoint访问OSS。如果错误中没有Endpoint
,请登录OSS控制台,在Bucket管理中找到您访问的bucket,点击进入Bucket概览页面。在OSS域名中可以看到内网和外网域名。
外网域名是在公网上访问OSS使用的域名;内网域名是指在阿里云内部访问的OSS使用的域名,比如您在您的ECS上访问OSS,可以使用内网域名。
Endpoint是域名去掉bucket部分,加上访问协议。例如上图中 OSS的公网域名是oss-test-byb.oss-cn-hangzhou.aliyuncs.com
,它的公网Endpoint是https://oss-cn-hangzhou.aliyuncs.com
;类似,内网Endpoint是https://oss-cn-hangzhou-internal.aliyuncs.com
。
ImageDamage.The image file may be damaged错误
访问OSS遇到如下的错误:
<Code>ImageDamage</Code>
<Message>The image file may be damaged.</Message>
说明图片文件有部分信息丢失或损坏,导致无法正常识别或处理。您可能会有一个疑问,某图片在本地用图片处理器可以打开,OSS处理报错。原因是,图片浏览器会对损坏的图片做些处理,OSS图片服务暂时没有这个操作。
AccessDenied.AccessDenied错误
访问OSS遇到如下的错误:
<Code>AccessDenied</Code>
<Message>AccessDenied</Message>
说明访问OSS的用户没有当前操作的权限。请确认使用的AccessKeyID/AccessKeySecret
是正确的。如果使用的是子帐号/临时账户(STS),请确认当前用户的权限。确认方法:在控制台的访问控制里查看该用户的权限,确认是否已经赋予当前用户Bucket/Object的操作权限。
SignatureDoesNotMatch.The request signature we calculated…错误
访问OSS遇到如下的错误:
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
请按照以下步骤排查:
- 检查endpoint。
请检查endpoint前面没有bucket,后面没有多余的/
,前后没有多余的空格
。比如下面的endpoint是不合法的,https://my-bucket.oss-cn-hangzhou.aliyuncs.com
、https://oss-cn-hangzhou.aliyuncs.com/
、而https:// oss-cn-hangzhou.aliyuncs.com
或https:// oss-cn-hangzhou.aliyuncs.com
是合法域名。 - 检查AccessKeyID/AccessKeySecret。
请确认AccessKeyID/AccessKeySecret正确,确保AccessKeyID/AccessKeySecret前后都没有空格,特别是使用了复制粘贴的情况。 - 检查BucketName/ObjectKey。
请确保BucketName/ObjectKey命名合法有效,符合要求。- Bucket命名规范:只能包括小写字母、数字和短横线(-),必须以小写字母或者数字开头,长度必须在3-63字节之间。
- Object的命名规范:使用UTF-8编码,长度必须在1-1023字节之间,不能以“/”或者“”字符开头。
- 如果是您自己实现的签名,请使用OSS SDK提供的签名方法。
OSS SDK提供了URL/Header签名的实现,详细请参看SDK文档。 - 如果您的环境不适合使用SDK,的确需要自己实现签名,签名方法请参考用户签名验证,仔细检查每个签名字段。
OSS的论坛上提供了一个可视化签名的工具,请比较每个签名字段和最后的签名,签名工具地址。 - 如果您使用了代理,请检查代理服务器是否添加额外的Header。
其它错误
请根据SDK返回的错误码、错误信息判断原因,特别是错误信息会提示错误原因。如果怀疑错误跟网络环境有关,请使用ossprobe排查问题,ossprobe会给出可能的原因。
最后更新:2016-11-23 16:04:10
上一篇:
OSS跨域资源共享(CORS)错误及排除__常见错误及排除_最佳实践_对象存储 OSS-阿里云
下一篇:
PostObject错误及排查___常见错误及排除_最佳实践_对象存储 OSS-阿里云
DeleteGroup__组管理接口_RAM API文档_访问控制-阿里云
修改数据库参数列表__参数管理_API 参考_云数据库 RDS 版-阿里云
CDN监控__云服务监控_用户指南_云监控-阿里云
阿里云等4家企业违反《网络安全法》被责令整改
优先级__运算符_SQL语法参考_云数据库 OceanBase-阿里云
购买说明__购买流程_安全管家服务-阿里云
服务端__Media-C-SDK_SDK 参考_对象存储 OSS-阿里云
登录数据库__数据库管理_快速入门_数据管理-阿里云
单源最短距离__示例程序_图模型_大数据计算服务-阿里云
移动端播放器SDK__视频播放_使用手册_媒体转码-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云