Skip to content
大纲

Bucket跨域资源访问

应用场景

跨域资源共享(CORS)允许WEB端的应用程序访问不属于本域的资源。FOS提供接口方便开发者控制跨域访问的各种权限。

设定CORS规则

如下代码设定了一个CORS规则:

python
conf = {}
conf['allowedOrigins'] = ['http://www.boluor.com']
conf['allowedMethods'] = ['GET', 'HEAD', 'DELETE']
conf['allowedHeaders'] = ['Authorization', 'x-fos-test', 'x-fos-test2']
conf['allowedExposeHeaders'] = ['user-custom-expose-header']
conf['maxAgeSeconds'] = 3600
confs = []
#每个Bucket最多允许有100条规则。
confs.append(conf)
fos_client.put_bucket_cors(bucket_name, confs)

注意:

  1. 如果原规则存在则覆盖原规则。
  2. 只有Bucket的所有者和被授予FULL_CONTROL权限的用户才能设置Bucket的CORS。没有权限时,返回403 Forbidden错误,错误码:AccessDenied。

CORS规则相关参数的详细解释请参见PutBucketCors接口

获取Bucket的CORS规则

如下代码可获取Bucket的CORS配置:

python
response = fos_client.get_bucket_cors(bucket_name)

关闭Bucket的CORS功能并清空所有规则

如下代码可以关闭Bucket的CORS功能并清空所有规则:

python
fos_client.delete_bucket_cors(bucket_name)