因浏览器的同源策略限制,在不同域名之间进行数据交互或者资源共享时,会出现跨域请求被拒绝的问题。本文介绍如何通过设置允许特定的域名、方法和请求头的跨域访问策略,解决跨域问题。
注意事项
本文示例代码以华东1(杭州)的地域ID
cn-hangzhou
为例,默认使用外网Endpoint,如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见OSS地域和访问域名。要设置跨域规则,您必须有
oss:PutBucketCors
权限;要获取跨域规则,您必须有oss:GetBucketCors
权限;要删除跨域规则,您必须有oss:DeleteBucketCors
权限。具体操作,请参见为RAM用户授予自定义的权限策略。
方法定义
设置跨域资源共享规则
put_bucket_cors(request: PutBucketCorsRequest, **kwargs) → PutBucketCorsResult
获取跨域资源共享规则
get_bucket_cors(request: GetBucketCorsRequest, **kwargs) → GetBucketCorsResult
删除跨域资源共享规则
delete_bucket_cors(request: DeleteBucketCorsRequest, **kwargs) → DeleteBucketCorsResult
请求参数列表
参数名 | 类型 | 说明 |
request | PutBucketCorsRequest | 设置请求参数,具体请参见PutBucketCorsRequest |
GetBucketCorsRequest | 设置请求参数,具体请参见GetBucketCorsRequest | |
DeleteBucketCorsRequest | 设置请求参数,具体请参见DeleteBucketCorsRequest |
返回值列表
类型 | 说明 |
PutBucketCorsResult | 返回值,具体请参见PutBucketCorsResult |
GetBucketCorsResult | 返回值,具体请参见GetBucketCorsResult |
DeleteBucketCorsResult | 返回值,具体请参见DeleteBucketCorsResult |
关于设置跨域资源共享规则的完整定义,请参见put_bucket_cors。
关于获取跨域资源共享规则的完整定义,请参见get_bucket_cors。
关于删除跨域资源共享规则的完整定义,请参见delete_bucket_cors。
示例代码
相关文档
关于跨域资源共享的常见报错排查,请查阅34-CORS。
关于设置跨域规则的完整示例代码,请参见put_bucket_cors.py。
关于获取跨域规则的完整示例代码,请参见get_bucket_cors.py。
关于删除跨域规则的完整示例代码,请参见delete_bucket_cors.py。