设置跨域访问
概述
跨域资源共享(Cross-Origin Resource Sharing,CORS)是 HTML5 提供的标准跨域解决方案,而跨域访问是指当发起请求的资源所在域不同于该请求所指向的资源所在域时的一种访问形式。出于安全考虑,浏览器会限制这种非同源的访问,但在实际应用中,跨域访问需求是普遍存在的。例如,用户的网站 A (http://domainA.example) 后端使用了 CDN 存储,用户想在该网站的 Web 应用程序中引用存储在 CDN 上的资源。而根据 HTML5 协议要求,该引用操作只能向网站域名 http://domainA.example 发起请求,向其他网站发送的请求均会被浏览器限制。
CDN 支持 HTML5 协议中的跨域资源共享 CORS 设置,帮助用户实现跨域访问。CORS 通过 HTTP 请求中附带 Origin 的 Header 来表明自己的来源域。如上面的例子,Origin 的 Header 就是 http://domainA.example 。服务器端接收到这个请求之后,会根据一定的规则判断是否允许该来源域的请求,如果允许的话,服务器在返回的响应中会附带上 Access-Control-Allow-Origin 这个 Header,内容为 http://domainA.example 来表示允许该次跨域访问。如果服务器允许来自任何域名的跨域请求,则将 Access-Control-Allow-Origin 的Header设置为 * 即可,浏览器根据是否返回了对应的 Header 来决定该跨域请求是否成功,如果没有附加对应的 Header,浏览器将会拦截该返回结果。如果是非简单请求,浏览器会先发送一个 OPTIONS 请求(预请求)来探测这个跨域请求对于服务器端是不是安全可接受的,如果服务器不支持接下来的操作,浏览器会拦截该跨域请求。
设置跨域访问
- 登录CDN管理控制台,进入“内容分发网络CDN”页面。
- 在左侧导航栏,点击域名管理。
- 进入域名管理页面,点击目标域名操作列的管理。
- 进入“CDN域名详情”页,在页面上方导航栏选择访问控制页签。
- 进入访问控制页面,点击跨域访问配置设置模块的编辑。
- 进入“跨域访问配置”页面,选择开启/关闭CORS规则。
- 开启CORS规则后,设置Origins,可以设置多个,每行1个。
-
点击保存,完成跨域访问配置。
说明:
- Origins数量不可超过100个,每个Origin字符数不可超过150。
- 支持单个具体域名,形如 http://www.abc.com
- 支持通配符,形如http://*.abc.com
- CORS用法可以参考跨源资源共享。
配置示例: