前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【最佳实践】巡检项:内容分发网络(CDN)COS源跨域一致性

【最佳实践】巡检项:内容分发网络(CDN)COS源跨域一致性

原创
作者头像
cathyzhu
修改2022-04-28 10:07:22
8680
修改2022-04-28 10:07:22
举报
文章被收录于专栏:腾讯云顾问腾讯云顾问

问题描述

在CDN源站是COS的场景下,如果COS服务配置了跨域策略, CDN没有配置相关的跨域策略, 那么当用户请求CDN时, 如果节点没有缓存,则发起回源。 节点会缓存源站返回的跨域头部。 后续请求再次命中接点时,会直接返回缓存的跨域头, 这样可能会出现返回跨域头信息不匹配,造成的跨域错误。

访问流程如下:

跨域报错
跨域报错

解决方案

跨域资源共享(Cross-Origin Resource Sharing,CORS)机制,我们简称为跨域访问,允许 Web应用服务器进行跨域访问控制,从而使跨域数据传输得以安全进行。CORS 需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE 浏览器要求版本 IE10 或以上。实现 CORS 通信的关键是服务器。只要服务器实现了 CORS 接口,即可跨源通信。CDN和COS均支持跨域头设置,可供用户灵活使用。

当CDN的源站是COS的时候,如果COS设置了跨域头,建议CDN的跨域头和COS保持一致的设置,避免CDN缓存头不全,造成的其他用户本想放行的域名跨域头不匹配。 如果COS没有设置跨域头,直接在CDN设置了跨域头, 用户访问CDN的时候以CDN的设置为准。

1. 查看及配置COS源站相关的跨域策略

COS的跨域配置
COS的跨域配置

来源 Origin:允许跨域请求的来源。支持添加域名和 IP 地址。

  • 域名末尾不需要携带/
  • 可以同时指定多个来源,每行只能填写一个。
  • 配置支持*,表示全部域名和 IP 地址都允许,不推荐。
  • 支持单个具体域名,形如 http://www.abc.com
  • 支持二级泛域名,形如http://*.abc.com ,但是每行只能有一个*号。
  • 注意不要遗漏协议名 http 或 https,若端口不是默认的80,还需要带上端口。其中 IP 地址的举例为 http://10.10.10.10

2. 查看CDN配置, 确保源站如果设置了,和源站一致的跨域策略

点开对应CDN的域名『域名管理』--》『高级配置』里面有HTTP响应头配置,查看是否和源站配置了一致的跨域策略。

CDN的跨域配置
CDN的跨域配置

Access-Control-Allow-Origin用于解决资源的跨域权限问题,域值定义了允许访问该资源的域。若来源请求 Host 在域名配置列表之内,则直接填充对应值在返回头部中。也可以设置通配符 “*”,允许被所有域请求。更多说明请见Access-Control-Allow-Origin 匹配模式介绍

支持输入“*” ,或多个域名 / IP / 域名与 IP 混填(必须包含http://https://,填写示例:http://test.com,http://1.1.1.1, 逗号隔开)(注意:输入框最多可输入1000字符)。

注意事项

更多详细资料请参见关于 HTTP 访问控制的说明

官方文档COS跨域设置参考设置跨域访问 CDN设置参考HTTP响应头设置

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述
  • 解决方案
    • 1. 查看及配置COS源站相关的跨域策略
      • 2. 查看CDN配置, 确保源站如果设置了,和源站一致的跨域策略
      • 注意事项
      相关产品与服务
      云顾问
      云顾问(Tencent Cloud Smart Advisor)是一款提供可视化云架构IDE和多个ITOM领域垂直应用的云上治理平台,以“一个平台,多个应用”为产品理念,依托腾讯云海量运维专家经验,助您打造卓越架构,实现便捷、灵活的一站式云上治理。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档