UserDisable.UserDisable错误
当您访问OSS遇到如下的UserDisable错误:
<Code>UserDisable</Code>
<Message>UserDisable</Message>
有以下两类原因:
- 欠费被禁
确认欠费方法:在OSS 管理控制台上打开费用中心,检查是否欠费。如果欠费,请及时充值。
说明 - 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,表示您的设备系统时区是东八区。
- Windows系统查看时区的方法:
- 使用多个地域的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>56EA****3EE6</RequestId>
<HostId>my-oss-bucket-*****.aliyuncs.com</HostId>
<Bucket>my-oss-bucket-***</Bucket>
<Endpoint>oss-cn-****.aliyuncs.com</Endpoint>
</Error>
- 其中
Endpoint
中的oss-cn-****.aliyuncs.com
就是正确的Endpoint,请使用http://oss-cn-****.aliyuncs.com
或https://oss-cn-****.aliyuncs.com
作为Endpoint访问OSS。 - 如果错误中没有
Endpoint
,请登录OSS控制台,在Bucket管理中找到您访问的Bucket,单击进入Bucket概览页面。OSS域名中可以看到内网和外网域名。 - 外网域名是在公网上访问OSS使用的域名;内网域名是指在阿里云内部访问的OSS使用的域名。比如您在您的ECS上访问OSS,可以使用内网域名。
- Endpoint是域名去掉Bucket部分,加上访问协议。例如上图中OSS的公网域名是
oss-****.aliyuncs.com
,它的公网Endpoint是http://oss-cn-****.aliyuncs.com
;类似,内网Endpoint是http://oss-cn-****-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是不合法的,http://my-bucket.oss-cn-hangzhou.aliyuncs.com
、http://oss-cn-hangzhou.aliyuncs.com/
、而http:// 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会给出可能的原因。