当前位置: 首页 > news >正文

阿里云 CDN 多条件源站配置实战:跨地域环境分流

1.背景需求

  企业在 中国大陆新加坡 各自部署了环境,整体服务逻辑一致。

  需求:

    • 中国用户 → 访问中国区源站。
    • 海外用户 → 访问新加坡源站。

  源站分为两类:

    • 应用服务源站(双 IP)
    • 静态资源源站(双 OSS 域名)

 

2.源站类型与特点

  IP 源站场景:使用 IP 作为源站时无需配置回源 hosts,因为后端服务能自行解析业务域名,只需配置 SNI 即可正常完成 HTTPS 回源。

  OSS 双域名场景:由于两个 OSS Bucket 无法绑定同一自定义域名,因此需借助 CDN 与回源 hosts,将自定义域名映射到不同的 OSS 源站,实现统一域名的访问能力。

 

2.1 IP 源站(双 IP 模式)

  • 常见于 ECS / CLB / K8s 服务。
  • 直接配置 两个 IP 作为源站。
  • 特点:
    • 不需要回源 hosts。
    • 只要保证源站证书的 SNI 支持,即可完成 HTTPS 回源。
    • 使用场景:
      • 应用 API、业务服务。
      • 使用 IP 作为源站时无需配置回源 hosts,因为后端服务能自行解析业务域名,只需配置 SNI 即可正常完成 HTTPS 回源。

 

2.2 OSS 源站(双 OSS 域名模式)

  • 场景:同一服务在 中国区和新加坡 OSS 各有一个 bucket。
  • 由于 OSS 桶不能共享同一个自定义域名:
    • 需要在 CDN 配置 条件源站,并结合 回源 hosts 来实现统一入口。
    • 逻辑:
      • Region = 中国大陆 → 回源到中国区 OSS 域名(cn-bucket.oss-cn)。
      • Region ≠ 中国大陆 → 回源到新加坡 OSS 域名(sg-bucket.oss-ap)。

 

3.源站配置

  以下仅展示多源站配置,单源站、HTTPS 及 TLS1.0/1.1 关闭不在演示范围。

3.1 IP 源站配置步骤

1.登录阿里云 CDN 控制台,进入 域名管理

源站配置 中,添加 源站类型:IP

填写两个源站 IP 地址(如中国区 IP、新加坡区 IP)。

2.在 规则引擎中 创建好回源规则:

3.在 多条件源站 中添加规则:(关联刚才的规则)

  • 区域条件:中国大陆 → 中国区 IP。
  • 区域条件:非中国大陆 → 新加坡 IP。

4.确认开启 HTTPS 回源,并配置 SNI 对应业务域名。

 

3.2 OSS 源站配置步骤

1.登录阿里云 CDN 控制台,进入 域名管理

分别填写:

  • 中国区 OSS 域名
  • 新加坡 OSS 域名

2.在 规则引擎中 创建好回源规则:

3.在 多条件源站 中添加规则:

  • 区域条件:中国大陆 → 中国区 OSS 域名。
  • 区域条件:非中国大陆 → 新加坡 OSS 域名。

4.配置 回源 hosts

  • 将业务域名(如 static.example.com)作为回源 Host。
  • 确保 OSS 能识别并允许该自定义域名。

 

3.3 小结

  目前来看,双 IP 源站与双 OSS 源站的主要区别在于 一个依赖 SNI 配置,一个依赖回源 Hosts 配置

  • SNI 配置:由于后端是 Higress/Nginx,可能同时承载多个域名请求,因此必须通过 SNI 明确指定访问的是哪个域名源站,否则无法正确路由到目标服务。
  • 回源 Hosts 配置:这是因为一个域名无法直接绑定多个存储桶,而 OSS 必须绑定自定义域名才能通过该域名访问。否则只能使用默认地址。通过 CDN 回源时配置 Hosts,相当于模拟了自定义域名的访问效果,从而实现一个域名同时对应多个 OSS 存储桶的能力。

  简而言之:SNI 解决多域名路由问题,回源 Hosts 解决 OSS 域名绑定限制问题

  以下就是2个桶绑定一个域名的结果,可以看到有一个oss桶,显示未绑定。

  未绑定

  已绑定

 

4.与阿里云沟通总结

  总结区别就是ip源站不需要配置回源hosts,需要sni,域名源站需要配置回源hosts,原因不同oss不支持绑定多个域名,等于用cdn完善了这部分的功能缺陷

 

http://www.hskmm.com/?act=detail&tid=21434

相关文章:

  • 2025年破碎机厂家最新权威推荐榜:破碎机实力厂商技术服务全景评测及选购指南
  • 什么关系?就是ajax与jQuery
  • 2025标志牌生产厂家最新推荐排行榜:权威筛选优质标志牌品牌,助您精准选对交通标志牌,反光标志牌,道路标志牌供应商!
  • 2025 年脚手架厂家最新推荐榜:铝合金 / 盘扣 / 快装 / 移动式等多类型产品优选及国内实力企业排行指南
  • 2025年沈阳标识标牌厂家最新推荐榜单:涵盖订做标识标牌,广告标识标牌,安全出口标识标牌、不锈钢等多类型标识,全面解读企业产能与技术实力
  • 实用指南:部署 Jenkins 服务器
  • This is my First Blog -BIGBASIS
  • 【光照】[PBR][法线分布]为何不选Beckmann
  • 180课时吃透Go语言游戏后端开发2:Go语言中的变量 - 实践
  • 2025“钉耙编程”中国大学生算法设计暑期联赛(4)
  • qdg
  • 别再迷信甘特图了!90%的项目用它都错了
  • ZyperWin++使用教程!让Windows更丝滑!c盘飘红一键搞定!ZyperWin++解决系统优化、Office安装和系统激活
  • 一文详解决策树:ID3与C4.5算法 - 详解
  • 关于处理大批量数据下载和查询时,怎么进行限流和熔断处理(AI)
  • docker服务器运维
  • Nginx 反向代理与负载均衡核心内容总结 - 实践
  • 这款免费Windows优化神器!只有5M电脑绿色工具!ZyperWin++下载安装教程
  • 原核蛋白表达与真核蛋白表达的差异选择
  • 泛型类型参数
  • 完整教程:【数据结构——十字链表】
  • CF1584E Game with Stones 题解
  • 高德解包和打包报错
  • Python 中的上下文管理器与 `with` 语句全解析
  • 用友U8Api 接口对接
  • 填坑:VC++ 采用OpenSSL 3.0接口方式生成RSA密钥 - 教程
  • JUC:AQS
  • CF1980F2 Field Division (hard version) 题解
  • JUC:ThreadLocal
  • 广义串并联图とP6790 [SNOI2020] 生成树