由于Bucket只绑定了域名A,当域名B通过CNAME记录解析到域名A时,OSS无法识别从域名B发起的请求,导致访问失败。要解决此问题,您还需要将域名B绑定至Bucket。
问题描述
Bucket绑定了域名A,通过域名A可以访问该Bucket。通过CNAME将域名B指向域名A后,通过域名B无法访问该Bucket,报错InvalidBucketName。
问题原因
虽然域名B通过CNAME记录指向了域名A,但Bucket没有绑定域名B。当通过域名B发起请求时,由于Bucket中不存在对应域名B的绑定信息,OSS在尝试解析HTTP请求头中的Host
字段(即域名B)时,无法将其映射到有效的Bucket。结果是OSS返回了"InvalidBucketName"错误,因为OSS期望请求的Host
头部与已绑定和识别的域名相匹配。
问题示例
通过域名B访问的报错示例如下:
解决方案
如果需要通过域名B也能访问Bucket,您还需要为Bucket绑定域名B。具体步骤,请参见绑定自定义域名至Bucket默认域名。
文档内容是否对您有帮助?