跨域资源共享(CORS)允许web端的应用程序访问不属于本域的资源。OSS提供接口 方便开发者控制跨域访问的权限。更多关于跨域资源共享的内容请参考
OSS 跨域资源共享
OSS的跨域共享设置由一条或多条CORS规则组成,每条CORS规则包含以下设置:
提示:
- 跨域资源共享的示例代码在sample/bucket_cors.go。
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
rule1 := oss.CORSRule{
AllowedOrigin: []string{"*"},
AllowedMethod: []string{"PUT", "GET"},
AllowedHeader: []string{},
ExposeHeader: []string{},
MaxAgeSeconds: 200,
}
rule2 := oss.CORSRule{
AllowedOrigin: []string{"http://www.a.com", "http://www.b.com"},
AllowedMethod: []string{"POST"},
AllowedHeader: []string{"Authorization"},
ExposeHeader: []string{"x-oss-test", "x-oss-test1"},
MaxAgeSeconds: 100,
}
err = client.SetBucketCORS("my-bucket", []oss.CORSRule{rule1, rule2})
if err != nil {
// HandleError(err)
}
import "fmt"
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
corsRes, err := client.GetBucketCORS("my-bucket")
if err != nil {
// HandleError(err)
}
fmt.Println("Bucket CORS:", corsRes.CORSRules)
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
err = client.DeleteBucketCORS("my-bucket")
if err != nil {
// HandleError(err)
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云对象存储服务(OSS)支持跨域资源共享(CORS),允许Web应用程序在不同源的域名之间请求资源,这对于实现前端和后端分离的架构非常有用。以下是如何使用阿里云OSS管理CORS规则的简要说明:
通过调用Client.SetBucketCORS
方法,可以为指定的Bucket设置CORS规则。每个规则定义了哪些来源、HTTP方法、头部等被允许进行跨域访问。
示例代码展示了如何设置两条CORS规则: - 规则1允许来自任何源的PUT和GET请求。 - 规则2允许来自特定两个域名的POST请求,并且指定了允许的请求头和响应头以及不同的缓存时间。
使用Client.GetBucketCORS
方法可以获取某个Bucket当前配置的所有CORS规则。这有助于开发者检查或确认已设置的跨域策略是否符合预期。
如果需要移除所有CORS配置,可以调用Client.DeleteBucketCORS
方法。执行此操作后,该Bucket将不再允许任何跨域请求,除非再次设置CORS规则。
请注意,上述示例代码使用的是阿里云OSS Go SDK。如果你使用的是其他编程语言的SDK,虽然语法可能有所不同,但基本的操作方法(设置、查看、删除CORS规则)是类似的。确保你已经安装了对应语言的阿里云OSS SDK,并正确配置了Endpoint、AccessKeyId、AccessKeySecret等信息。
对于更详细的文档和最新的SDK示例,建议直接访问阿里云官方文档以获取最准确的信息。