腾讯云存储桶设置跨域访问

跨域访问

跨域资源共享机制,简称为跨域访问,允许Web应用服务器进行跨域访问控制,从而使跨域数据传递运输得以安全进行。CORS需要浏览器和服务器同时支持。

整个CORS通信过程,都是浏览器自动完成的,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息, 有时还会多出一次附加的请求,但用户无法感知。

因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,即可跨源通信。

CORS主要使用场景

用户在使用浏览器的情况下会使用到CORS,因为控制访问权限是浏览器而非服务器。因此使用其他客户端的时候无需关心任何跨域问题。

CORS主要是实现在浏览器使用AJAX直接访问COS的数据或上传、下载数据,而无需通过用户本身的应用服务器中转。对于同时使用COS和使用AJAX技术的网站,建议使用CORS来实现与COS的直接通信。

COS对CORS的支持

COS支持对CORS规则的配置,从而根据需求允许或者拒绝响应的跨域请求,该CORS规则配置属于存储桶级别。

CORS请求的通过与否和COS的身份验证等是完全独立的,即COS的CORS规则仅仅是用来决定是否附加CORS相关的Header的一个规则。是否拦截该请求完全由浏览器决定。

目前COS所有的Object相关接口都提供了CORS相关的验证,另外Multipart相关的接口目前也已经完全支持CORS验证。

设置CORS

确定访问不成功的原因之后,可以通过设置存储桶相关的CORS来解决问题。COS控制台可以进行CORS设置,本示例使用控制台来完成CORS的设置。若您的CORS设置不是特别复杂,建议使用控制台来完成CORS的设置。

1、登录COS控制台,单机存储桶列表,进入相关的存储桶,单击安全管理页签,下拉页面即可找到"跨域访问CORS设置"。

2、单击添加规则,添加第一条规则,使用最宽松的配置如下:

验证结果

配置完成后,重新尝试访问test.txt文本文件。结果如下,可以正常访问请求。

故障排除及建议

若想要排除跨域带来的访问问题,可以将CORS设置为以上最宽松的配置,该配置允许所有的跨域请求。该配置下依然出错,则表明错误出现在其他部分而不是CORS。

除了最宽松的配置之外,您还可以配置更精细的控制机制来实现针对性的控制。例如,对于本示例可以使用如下最小的配置匹配成功:

因此对于大部门场景来说,推荐您根据自己的使用场景来使用最小的配置以保证安全性。

注:本文章仅提供自身学习翻阅查找,所有内容均来自对象存储 设置跨域访问-实践教程-文档中心-腾讯云

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值