问题描述
请求阿里云对象存储OSS中的资源时,提示“SecondLevelDomainForbidden”错误码,详细报错如下:
错误一:
The bucket you are attempting to access must be addressed using OSS third level domain
错误二:
Please use virtual hosted style to access
问题原因
发生错误一的原因:Bucket的请求域名不为三级域名。
发生错误二的原因:Host错误。
解决方案
请根据具体报错,执行以下相应的操作:
错误一的解决方法:针对OSS的网络请求,除了GetService(ListBuckets)API以外,其他所有请求的域名均由带有指定Bucket信息的三级域名组成。访问域名结构为
BucketName.Endpoint
,BucketName为您的存储空间名称,Endpoint为存储空间对应的地域域名。例如https://examplebucket.oss-cn-hangzhou.aliyuncs.com
。错误二的解决方法:通过外网访问OSS服务时,以URL的形式表示访问的OSS资源,详情请参见OSS访问域名使用规则。OSS的URL结构为
[$Schema]://[$Bucket].[$Endpoint]/[$Object]
。例如,您的Region为华东1(杭州),Bucket名称为examplebucket,Object访问路径为destfolder/example.txt
,则外网访问地址为https://examplebucket.oss-cn-hangzhou.aliyuncs.com/destfolder/example.txt
。说明[$Schema]包含HTTP或者HTTPS。
[$Bucket]表示存储空间名称。
[$Endpoint]为Bucket所在数据中心供外网访问的Endpoint,详情请参见Region与Endpoint的对应关系。
[$Object]填写上传到OSS上的文件的访问路径。
适用于
对象存储OSS