受到同源策略(Same-Origin Policy)的限制,浏览器在执行 JavaScript 时会限制跨域请求,只允许请求同一域或源的资源。跨域资源共享 CORS(Cross-Origin Resource Sharing,也可以称作跨域访问),允许浏览器向不同域或源的服务器发起跨域请求。配置跨域后,轻量对象存储针对跨域访问,支持响应 OPTIONS 请求。这样,您的网站在使用 JavaScript 请求不同源的轻量对象存储时就不会出现跨域问题。关于跨域更多说明可参见 关于 HTTP 访问控制的说明。
同源策略
浏览器的同源策略通过限制跨域操作,防止恶意网站通过跨域请求获取用户的敏感信息,从而保护用户的数据安全。当网站 A、B 不同源时,来自于 A 网站中的 JavaScript 访问 B 网站时,浏览器会遵循同源策略拒绝该访问。
两个 URL 的协议、域名和端口号必须完全相同,才会被认为是同源的。以下是一些同源检测示例:
URL A | URL B | 访问是否成功 | 原因 |
http://www.global.tencentcos.cn/index.html | http://www.global.tencentcos.cn/error.html | 是 | 协议、域名、端口相同 |
| https://www.global.tencentcos.cn/error.html | 否 | 协议不同 |
| http://www.global.tencentcos.cn:22/error.html | 否 | 端口不同 |
| http://www.global-acc.tencentcos.cn:22/error.html | 否 | 域名不同 |
上表中2、3、4行的 URL 由于协议、域名或端口不同,浏览器会拒绝跨域访问。如果要允许这些来源的访问,需要设置放桶跨域规则。
操作步骤
1. 登录 轻量对象存储控制台。
2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表页面。
3. 找到需要设置跨域访问的存储桶,单击其存储桶名称,进入基础设置 > 跨域设置。
4. 点击添加来源域名,输入您要放桶的跨域来源域名。例如
111.com、111.com:22等。
