对象存储 OSS 跨域(CORS)管理功能|学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 快速学习对象存储 OSS 跨域(CORS)管理功能

开发者学堂课程【管理功能玩转对象存储OSS使用入门对象存储 OSS 跨域(CORS)管理功能】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/378/detail/4737


对象存储 OSS 跨域(CORS)管理功能


Cors如何设置使用

1、Cors

的中文名是跨域资源共享,是 HTML5 提供的标准跨域解决方案。

2、跨域访问

也叫 JavaScript 的跨域访问问题,是浏览器出于安全考虑而设置的一个限制,即同源策略。当来自于A网站的页面中的 JavaScript 代码希望访问 B 网站的时候,浏览器会拒绝该访问,因为 A,B 两个网站是属于不同的域此处跨域可以简单理解为 A,B 两个网站域名不同而存在跨域问题

3、CORS主要使用场景

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

4、实例

在此之前已经在服务器上搭建了外部环境并在网站绑定了test1.pier39.cn 这个域名get_obiect from oss. Html 这个是在空间中上传的一个测试文件复制这个地址打开浏览器点击 f12 打开浏览器工具工具然后粘贴网站点击访问先看一下程序的源代码这个程序就是通过get的方法 oss 下的 a.jpg 这个图片点击 get 确定可以看到获取 a.jpg 图片的时候显示的状态码是403,获取不到的在下方这个错误中可以看到此时access-control-allow-origin 是通过 http://test1.pier39.cn 域名获取的而地址实际上的域名是http://youkou.oss-cn-beijing.com/abcd/a.jpg 因为这两个域名不同因此存在跨域问题浏览器默认是拒绝跨域行为的所以浏览器获取不到这个图片那针对此跨域问题 oss 中有一个 count 的设置可以解决此问题在控制台中设置 count之前已经登陆到了控制台 bucket 管里面找一个 bucket 点击 bucket 属性点击 cors 设置添加规则来源写网站的域名 http://test1.pier39.cn 此处填写的时候 http 域名是要带的方法选get,Allowed Header 填写*,点击确定可以看到已添加这时可以访问一下之前的站点点击 get可以看到 a.jpg 图片已经被获取到状态码已经是正常的 200 看一下 headers 可以看到这个是允许它获取的 Access-Control- Allow-Origin: http://test1.pier.cn,是因为已经在 oss 控制台把它加上了,Access-Control- Allow-Methods: GET 方法这里只选了 get 所以就是 get,Access-Control- Allow-Credentials: true

Access-Control- Allow-Headers:content-type,所以在 oss 控制台里面就可以解决这种跨域的问题

5、CORS 配置的一些注意事项

在设置的时候可以看到五个参数。

(1)来源:

配置的时候要带上完整的域信息,比如示例中就是 http://test1.pier39.cn,注意不要遗漏了协议名如 http,如果网站配置了其他端口号,用其他端口号访问,此处需要加冒号再加端口号就可以了。如果是8080,就填写http://test1.pier39.cn:8080,如果端口号不是默认的还要带上端口号之类的。如果不确定的话,可以使用通配符*。

(2)Method:

按照需求开通对应的方法即可。因为实例中只用了 get所以就只用勾选 get 即可也可以全部都勾选或者根据自己畅叙中实际的解决方法勾选就可以

(3)Allow Header:

允许通过的 Header 列表,因为这里容易遗漏 Header,因此建议没有特殊需求的情况下设置为*。大小写不敏感。

(4)Expose Header:

暴露给浏览器的 Header 列表,一般来说都不应该暴露这些信息,这里可以不填。如果有特殊需求可以单独指定,大小写不敏感。

(5)缓存时间:

如果没有特殊情况可以酌情设置的大一点,比如60s。

Expose Header 和缓存时间也可以全部都不填在测试的时候就是没有填写的可以根据自己的实际情况进行填写

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
1月前
|
存储 缓存 安全
oss跨域资源共享(CORS Configuration)
oss跨域资源共享(CORS Configuration)
49 4
|
2月前
|
前端开发 API 数据安全/隐私保护
Web前端开发中的跨域资源共享(CORS)解决方案
【2月更文挑战第5天】在Web前端开发中,跨域资源共享(CORS)是一个常见的挑战。本文将探讨CORS的概念和原理,并介绍一些常用的解决方案,包括服务器端配置和前端处理方法,帮助开发者更好地应对跨域请求问题。
100 4
|
2月前
|
前端开发 开发者
前端开发中的跨域资源共享(CORS)解决方案探讨
【2月更文挑战第2天】跨域资源共享(CORS)是前端开发中常见的问题,本文将深入探讨CORS的原理及解决方案,包括简单请求、预检请求以及常用的CORS解决方案,为前端开发者提供深入的理解和应对CORS问题的有效方法。
29 1
|
2月前
|
前端开发 JavaScript API
探索前端开发中的跨域资源共享(CORS)
【2月更文挑战第3天】在前端开发中,跨域资源共享(CORS)是一个至关重要的话题。本文将深入探讨CORS的概念、工作原理以及如何在前端项目中正确配置和处理跨域请求,帮助开发者更好地理解和应用CORS技术。
27 7
|
2月前
|
前端开发 安全 JavaScript
前端开发中的跨域资源共享(CORS)机制
【2月更文挑战第3天】 在前端开发中,跨域资源共享(CORS)机制是一个重要的安全性问题。本文将介绍CORS的概念、原理和实现方式,并探讨在前端开发中如何处理跨域资源请求,以及如何提高网站的安全性。
|
26天前
|
JavaScript 安全 前端开发
js开发:请解释什么是跨域请求(CORS),以及如何解决跨域问题。
CORS是一种W3C标准,用于解决浏览器同源策略导致的跨域数据访问限制。它通过服务器在HTTP响应头添加标志允许特定源进行跨域请求。简单请求无需预检,而预检请求(OPTIONS)用于询问服务器是否接受非简单请求。服务器端配置响应头如`Access-Control-Allow-Origin`等实现CORS策略,客户端JavaScript则正常发起请求。若配置不当,浏览器将阻止跨域访问,保障安全。
22 2
|
26天前
|
前端开发 安全 开发者
前端开发中的跨域资源共享(CORS)问题及解决方案探讨
在前端开发中,跨域资源共享(CORS)是一个常见且重要的问题。本文将深入探讨CORS的原理、影响以及解决方案,帮助开发者更好地应对跨域请求问题。
|
2月前
|
前端开发 数据安全/隐私保护 UED
探索前端开发中的跨域资源共享(CORS)
【2月更文挑战第3天】在当今Web开发中,跨域资源共享(CORS)扮演着至关重要的角色。本文将深入探讨CORS在前端开发中的作用和实践经验,带你解锁跨域访问的奥秘。
|
2月前
|
Java
springboot+cors跨域处理
springboot+cors跨域处理
23 0
|
3月前
|
前端开发 JavaScript
CORS跨域资源共享及解决方案
CORS跨域资源共享及解决方案
32 0