概述
本文主要介绍访问OSS资源时出现403状态码的排查方法。
详细信息
以下介绍了OSS常见的几种403错误描述及排查解决方法。如果您遇到的错误不在该表格中,请参见其他报错。
错误分类 | 错误码和错误信息 | 错误原因 | 解决办法 |
欠费相关 | ErrorCode: UserDisable ErrorMessage: UserDisable |
|
UserDisable.UserDisable错误 |
时间 | ErrorCode: RequestTimeTooSkewed |
发送请求的时间与OSS收到请求的时间间隔超出了15分钟,OSS从安全考虑认为该请求是无效的,返回报错。 | 请检查发送请求设备的系统时间,并根据时区调整到正确时间。详情请参见RequestTimeTooSkewed.The difference between…错误 |
文件损坏 | ErrorCode: ImageDamage |
说明图片文件有部分信息丢失或损坏,导致无法正常识别或处理。 | ImageDamage.The image file may be damaged错误 |
跨域 | ErrorCode: AccessForbidden ErrorMessage: CORSResponse: This CORS request is not allowed. This is usually because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource’s CORS spec. |
没有配置CORS或CORS配置错误 | OSS跨域资源共享(CORS)出现报错的排查方法 |
防盗链 | ErrorCode: AccessDenied ErrorMessage: You are denied by bucket referer policy. |
访问域名不在OSS防盗链的白名单中。 | 设置OSS防盗链后访问OSS资源出现“You are denied by bucket referer policy”错误 |
权限 | ErrorCode: AccessDenied ErrorMessage: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. |
Bucket和Endpoint不符 | OSS权限相关常见错误的排查方法 |
ErrorCode: AccessDenied |
说明访问OSS的用户没有当前操作的权限。 | ||
ErrorCode: InvalidAccessKeyId |
原因可能是AccessKeyID禁用或不存在。 | ||
ErrorCode: SignatureDoesNotMatch |
签名不匹配。 | ||
ErrorCode: AccessDenied ErrorMessage: You are forbidden to list buckets. |
无ListBuckets权限 | 如果需要修改权限,可参考基于读写权限ACL的权限控制中的权限列表赋予相应的权限。 | |
ErrorCode: AccessDenied ErrorMessage: You do not have write acl permission on this object |
无SetObjectAcl权限 | ||
ErrorCode: AccessDenied ErrorMessage: You do not have read acl permission on this object. |
无GetObjectAcl权限 | ||
ErrorCode: AccessDenied ErrorMessage: The bucket you access does not belong to you. |
子用户没有Bucket管理的权限(如GetBucketAcl CreateBucket、DeleteBucket SetBucketReferer、 GetBucketReferer等) | 如果需要修改权限,可参考使用RAM Policy控制OSS的访问权限修改权限。 | |
ErrorCode: AccessDenied ErrorMessage: You have no right to access this object because of bucket acl. |
子用户/临时用户没有访问Object的权限(如putObject getObject、appendObject deleteObject、postObject)等 | ||
ErrorCode: AccessDenied ErrorMessage: Access denied by authorizer’s policy. |
临时用户访问无权限,该临时用户角色扮演指定授权策略,该授权策略无权限 | ||
ErrorCode: AccessDenied ErrorMessage: You have no right to access this object. |
子用户/临时用户无当前操作权限(如initiateMultipartUpload等) | ||
ErrorCode: AccessDenied ErrorMessage: Invalid according to Policy: Policy expired. |
PostObject中Policy无效 | PostObject | |
ErrorCode: AccessDenied ErrorMessage: Invalid according to Policy: Policy Condition failed:["eq", "$Content-Type", "application/octet-stream"] … |
Content-Type限定了,比如请求中Content-Type限定为image/png,而实际与限定不符。 | 设置Content-Type |
“UserDisable.UserDisable”错误
以下是访问OSS出现的UserDisable.UserDisable错误信息。
<Code>UserDisable</Code>
<Message>UserDisable</Message>
原因及解决方法
- 如果是欠费原因被禁,则在OSS管理控制台上打开费用中心,检查是否欠费。如果欠费,请及时充值。
说明:
- OSS欠费后,还可以正常使用24小时,24小时后禁止访问。
- 历史数据保留15天,15天后历史数据将被删除。
- 当在消息中心看到阿里云OSS欠费提醒后,请及时充值,否则会影响您的正常使用。
- 如果是安全原因被禁,则在OSS管理控制台中打开消息中心,在右侧的安全消息中查看违规通知。违规的原因有很多,比如使用OSS做私服、违禁图片、涉暴等。
说明:如果账户处于被禁状态,请务必处理,重新申请新账户,无法保证正常使用。
“RequestTimeTooSkewed.The difference between…”错误
访问OSS出现的详细报错如下。
<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)是零时区的区时,即世界标准时间。
- Windows系统查看时区的方法:通过控制面板>时钟、语言和区域>设置日期和时间,打开日期和时间,时区栏的+08:00表示您的设备时区是东八区。
- Linux/Unix系统查看时区的方法:执行
date -R
查看时间和时区。下图中的+0800
表示您的设备系统时区是东八区。
- 使用多个地域的OSS是可以实现的。每个地域的OSS都使用GMT时间,您发送请求的设备系统时间也是GMT时间。
“ImageDamage.The image file may be damaged”错误
访问OSS出现的详细报错如下。
<Code>ImageDamage</Code>
<Message>The image file may be damaged.</Message>
原因及解决方法
说明图片文件有部分信息丢失或损坏,导致无法正常识别或处理。您可能会有疑问,在本地使用图片浏览器可以打开图片,但是使用OSS处理时报错。这是因为图片浏览器会对损坏的图片做些处理,OSS图片服务暂时没有这个操作。请确保源文件的没有被损坏,如有损坏请重新上传本地文件。
其他报错
请根据SDK返回的错误码、错误信息判断原因,特别是错误信息会提示错误原因。如果怀疑错误跟网络环境有关,请使用ossutil排查问题,ossutil会给出可能的原因。
相关文档
适用于
- 对象存储 OSS