当您的文件(Object)设置为公共读后,所有用户都可以访问您的Object。但以下设置会导致匿名用户无法访问公共读的Object。
设置了请求者付费模式
开启请求者付费模式后,读取存储空间(Bucket)内数据时产生的流量费用和请求费用由请求者支付,Bucket拥有者仅支付存储费用。所以请求方必须提供身份验证信息,以便OSS能够识别请求方,从而对请求方而非Bucket拥有者收取请求所产生的费用。匿名用户访问时不会携带身份验证信息,所以会导致匿名用户访问失败。具体操作,请参见开启请求者付费模式。
解决方案:
由Bucket拥有者生成一个带签名的文件URL给匿名用户访问。具体操作,请参见使用文件URL分享文件。
关闭请求者付费模式。具体操作,请参见设置请求者付费模式。
设置了Bucket Policy
Bucket Policy是阿里云OSS推出的针对Bucket的授权策略,您可以通过Bucket Policy禁止或允许其他用户访问您的OSS资源。所以,如果您在Bucket Policy中设置了某些影响匿名用户访问的策略,也会导致匿名用户无法访问。关于Bucket Policy的更多信息,请参见通过Bucket Policy授权用户访问指定资源。
解决方案:
排查您的Bucket Policy,修改或删除影响匿名用户访问的策略。
文档内容是否对您有帮助?