Bucket跨域资源访问
更新时间:2022-07-13
应用场景
跨域资源共享(CORS)允许WEB端的应用程序访问不属于本域的资源。BOS提供接口方便开发者控制跨域访问的各种权限。
设定CORS规则
如下代码设定了一个CORS规则:
conf = {}
conf['allowedOrigins'] = ['http://www.boluor.com']
conf['allowedMethods'] = ['GET', 'HEAD', 'DELETE']
conf['allowedHeaders'] = ['Authorization', 'x-bce-test', 'x-bce-test2']
conf['allowedExposeHeaders'] = ['user-custom-expose-header']
conf['maxAgeSeconds'] = 3600
confs = []
#每个Bucket最多允许有100条规则。
confs.append(conf)
bos_client.put_bucket_cors(bucket_name, confs)
注意:
- 如果原规则存在则覆盖原规则。
- 只有Bucket的所有者和被授予FULL_CONTROL权限的用户才能设置Bucket的CORS。没有权限时,返回403 Forbidden错误,错误码:AccessDenied。
CORS规则相关参数的详细解释请参见PutBucketCors接口。
获取Bucket的CORS规则
如下代码可获取Bucket的CORS配置:
response = bos_client.get_bucket_cors(bucket_name)
关闭Bucket的CORS功能并清空所有规则
如下代码可以关闭Bucket的CORS功能并清空所有规则:
bos_client.delete_bucket_cors(bucket_name)