tencent cloud

边缘安全加速平台 EO

动态与公告
产品动态
安全公告
产品公告
产品简介
产品概述
产品优势
应用场景
EdgeOne 与 CDN 等产品功能对比
使用限制
购买指南
试用套餐体验权益说明
免费版套餐使用说明
计费概述
计费项目
购买指引
续费指引
欠费与退款说明
套餐选型对比
关于“干净流量”计费说明
DDoS 防护容量说明
快速入门
选择业务场景
快速接入网站安全加速
通过 Pages 快速部署网站
域名服务与源站配置
域名服务
HTTPS 证书
源站配置
站点加速
概述
访问控制
智能加速
缓存配置
文件优化
网络优化
URL 重写
修改头部
修改应答内容
规则引擎
图片与视频处理
单连接下载限速
DDoS 与 Web 防护
概述
DDoS 防护
Web 防护
Bot 管理
API 资产识别(Beta)
边缘函数
概述
快速指引
操作指引
Runtime APIs
示例函数
实践教程
Pages
四层代理
概述
新建四层代理实例
修改四层代理实例配置
停用/删除四层代理实例
批量配置转发规则
获取客户端真实IP
数据分析与日志服务
日志服务
数据分析
告警服务
站点与计费管理
计费管理
站点管理
版本管理
通用策略
通用参考
配置语法
请求与响应行为
国家/地区及对应代码枚举
Terraform
Terraform 简介
安装和配置 Terraform
实践教程
自动预热/清除缓存
防盗刷/盗链实践
HTTPS 相关实践
加速优化
流量调度
数据分析与告警
第三方日志平台集成实践
对象存储类源站(例如:COS)配置实践
跨域响应配置
API 文档
History
Introduction
API Category
Making API Requests
Site APIs
Acceleration Domain Management APIs
Site Acceleration Configuration APIs
Edge Function APIs
Alias Domain APIs
Security Configuration APIs
Layer 4 Application Proxy APIs
Content Management APIs
Data Analysis APIs
Log Service APIs
Billing APIs
Certificate APIs
Origin Protection APIs
Load Balancing APIs
Diagnostic Tool APIs
Custom Response Page APIs
API Security APIs
DNS Record APIs
Content Identifier APIs
Legacy APIs
Ownership APIs
Image and Video Processing APIs
Multi-Channel Security Gateway APIs
Version Management APIs
Data Types
Error Codes
常见问题
产品特性相关问题
DNS 记录相关问题
域名配置相关问题
站点加速相关问题
数据与日志相关问题
安全防护相关问题
源站配置相关问题
排障指南
异常状态码参考
EdgeOne 4XX/5XX 状态码排障指南
520/524状态码排障指南
521/522 状态码排障指南
工具指南
相关协议
Service Level Agreement
源站防护启用特别约定
TEO 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

跨域响应配置

PDF
聚焦模式
字号
最后更新时间: 2025-12-24 16:15:26

背景介绍

跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标识除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。目前许多 HTML 页面都会加载来自不同域下的 CSS 样式表,图像和脚本等资源。因此,解决跨域问题显得尤为重要。
跨源资源共享标准通过新增一系列 HTTP 响应头部,使得服务器能声明哪些来源可以通过浏览器访问该服务器上的资源。

跨域响应头部

头部字段
说明
Access-Control-Allow-Origin
值支持常量以及变量。其中:
常量:支持输入 * ,或多个域名IP、以及域名与 IP 混填(必须包含 http://https://,例如:http://test.com,http://1.1.1.1, 多值可通过英文逗号分隔,最多可输入 1000个字符。
变量:将需要支持的跨域来源域名通过 Origin 请求头进行匹配,头部值使用${http.request.headers["Origin"]}
Access-Control-Allow-Methods
用于设置跨域允许的 HTTP 请求方法,可同时设置多个方法,例如 POSTGETOPTIONS,多值可通过英文逗号分隔,最多可输入 1000个字符。
Access-Control-Max-Age
用于指定预请求的有效时间,单位为,支持输入 0 ~ 2147483647 的整型数值。
非简单的跨域请求,在正式通信之前,需要增加一次 HTTP 查询请求,称“预请求”,用来查明这个跨域请求是不是安全可以接受的,如下请求会被视为非简单的跨域请求:以 GETHEAD 或者 POST 以外的方式发起,或者使用 POST,但是请求数据类型为 application/x-www-form-urlencodedmultipart/form-datatext/plain 以外的数据类型,如 application/xml 或者 text/xml。使用自定义请求头为:Access-Control-Max-Age: 1728000,表明在 1728000秒内,对该资源的跨域访问不再发送另外一条预请求。
说明:
若在 EdgeOne 上设置跨域响应头,那么响应 Access-Control-Allow-Origin 头部的前提条件为客户端请求携带 Origin 头部,且该头部与设置的 Access-Control-Allow-Origin 任意一个值精确匹配。
若源站有设置跨域响应头,同时在 EdgeOne 上「增加」跨域响应头,则会出现两个跨域响应头部,将导致跨域报错。另外,若由源站来实现跨域响应,需要源站响应 Vary: Origin 头部,且在 EdgeOne 上开启 Vary 特性

配置示例

场景一:跨域头响应仅允许指定的域名访问页面资源

若您的业务场景涉及跨域访问,当前业务域名为 www.example.com 的资源仅允许来自 example.comsite.com 的页面访问加速域名,可参考以下步骤。
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击站点加速 > 规则引擎,进入规则引擎页面。
3. 在规则引擎页面,单击创建规则,选择新增空白规则
4. 在规则编辑页面,匹配类型选择为 HOST 等于 www.example.com
同时设置匹配类型 HTTP 请求头 Origin 头部值等于*.example.com、*.site.com
5. 单击操作 > 选择框,在弹出的操作列表内,选择操作为修改 HTTP 节点响应头
6. 选择类型为设置,头部名称为 Access-Control-Allow-Origin,头部值设置为 ${http.request.headers["Origin"]}



7. 单击保存并发布,即可完成该规则配置。
8. 生效行为说明。
当客户端请求中携带 Origin: http://www.example.com 时,则 EdgeOne 会响应 Access-Control-Allow-Origin: http://www.example.com
当客户端请求中携带 Origin: http://www.site.com 时,则 EdgeOne 会响应 Access-Control-Allow-Origin: http://www.site.com
当客户端请求中携带 Origin: http://www.abc.com 时,则 EdgeOne 不会响应跨域响应头部 Access-Control-Allow-Origin
当客户端请求未携带 Origin 时,则 EdgeOne 不会响应跨域响应头部 Access-Control-Allow-Origin

场景二:跨域头响应支持所有域名访问页面资源

若您的业务场景涉及跨域访问,当前业务域名为 www.example.com 的资源允许所有页面访问加速域名,可参考以下步骤。
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击站点加速 > 规则引擎,进入规则引擎页面。
3. 在规则引擎页面,单击创建规则,选择新增空白规则
4. 在规则编辑页面,匹配类型选择为 HOST 等于 www.example.com
5. 单击操作 > 选择框,在弹出的操作列表内,选择操作为修改 HTTP 节点响应头
6. 选择类型为设置,头部名称为 Access-Control-Allow-Origin,头部值设置为*



7. 单击保存并发布,即可完成该规则配置。
8. 生效行为说明。
当客户端请求中携带 Origin 时,则 EdgeOne 会响应 Access-Control-Allow-Origin: *
当客户端请求未携带 Origin 时,则 EdgeOne 不会响应跨域响应头部 Access-Control-Allow-Origin

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈