赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 全球加速
  4. 实践教程
  5. 多产品组合使用
  6. GA联动CDN实现回源加速

GA联动CDN实现回源加速

  • 多产品组合使用
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

电商、在线游戏、音视频点播等行业对于业务的访问速度与质量有非常高的要求。为全面提升终端用户的访问体验,您可以组合使用全球加速 GA(Global Accelerator)与内容分发网络CDN(Content Delivery Network)。全球加速GA依托阿里云优质BGP带宽和全球传输网络,通过联动内容分发网络CDN(Content Delivery Network),帮助您快速构建全球CDN回源网络,保障CDN业务实现动态内容的全面加速。

场景示例

本文以下图场景为例。某Web服务部署在美国硅谷地域的阿里云上,通过域名www.<YOURDOMAIN>.fun对外提供服务,转发端口为HTTP 80端口。客户端主要集中在中国香港。因跨国公网不稳定,中国香港客户端访问美国(硅谷)地域的Web服务经常出现延迟、抖动、丢包等网络问题。

您可以为Web服务部署CDN,CDN可以帮助您构建边缘节点缓存,提升业务访问体验。同时CDN联动全球加速,依托阿里云优质BGP带宽和全球传输网络,帮助您快速构建全球CDN回源网络,保障CDN业务实现动态内容的全面加速。

image

前提条件

  • 您的源站服务器已部署了应用服务。

    本文以Alibaba Cloud Linux 3操作系统为例,并使用Nginx及Netcat搭建一个包括动态时间显示和静态图片内容的网页,以模拟服务端。

    参考示例:阿里云ECS部署测试服务

    1. 执行 vi ECS_server_install.sh,按i键进入编辑模式。

    2. 复制并粘贴以下脚本内容:

      #!/bin/bash
      
      # 更新系统并安装Nginx和Netcat
      sudo yum update -y
      sudo yum install nginx -y
      sudo yum install -y nc
      
      # 启动并设置Nginx开机自启
      sudo systemctl start nginx
      sudo systemctl enable nginx
      
      # 配置Nginx
      sudo bash -c 'cat > /etc/nginx/nginx.conf <<EOF
      user nginx;
      worker_processes auto;
      error_log /var/log/nginx/error.log;
      pid /run/nginx.pid;
      
      events {
          worker_connections 1024;
      }
      
      http {
          include /etc/nginx/mime.types;
          default_type application/octet-stream;
          log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
                            '\$status \$body_bytes_sent "\$http_referer" '
                            '"\$http_user_agent" "\$http_x_forwarded_for"';
          access_log /var/log/nginx/access.log main;
          sendfile on;
          keepalive_timeout 65;
          include /etc/nginx/conf.d/*.conf;
      
          server {
              listen       80;
              listen       [::]:80;
              server_name  _;
              root         /usr/share/nginx/html;
      
              location / {
                  try_files \$uri \$uri/ =404;
              }
      
              location /dynamic {
                  proxy_pass http://127.0.0.1:8080;
                  proxy_set_header Host \$host;
                  proxy_set_header X-Real-IP \$remote_addr;
                  proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
                  proxy_set_header X-Forwarded-Proto \$scheme;
              }
      
              error_page 404 /404.html;
                  location = /40x.html {
              }
      
              error_page 500 502 503 504 /50x.html;
                  location = /50x.html {
              }
          }
      }
      EOF'
      
      # 创建静态内容
      sudo bash -c 'echo "<img src=\"test.png\" alt=\"Static Image\" width=\"300\"/>" > /usr/share/nginx/html/test.png'
      
      # 创建动态内容脚本
      sudo bash -c 'cat > /usr/share/nginx/html/dynamic_script.sh <<EOF
      #!/bin/bash
      while true; do
          echo -e "HTTP/1.1 200 OK\r\nContent-Length: \$(date | wc -c)\r\n\r\n\$(date)" | /usr/bin/nc -l -p 8080
      done
      EOF'
      
      # 给动态脚本赋予执行权限并后台运行
      sudo chmod +x /usr/share/nginx/html/dynamic_script.sh
      nohup /usr/share/nginx/html/dynamic_script.sh > /dev/null 2>&1 &
      
      # 重启Nginx服务
      sudo systemctl restart nginx
      
      # 创建index.html文件
      sudo bash -c 'cat > /usr/share/nginx/html/index.html <<EOF
      <!DOCTYPE html>
      <html>
      <head>
          <title>Test Page</title>
      </head>
      <body>
          <h1>GA and CDN Test Page</h1>
          <h2>Static Content: Image</h2>
          <img src="test.png" alt="Static Image" width="300"/>
      
          <h2>Dynamic Content: Current Time</h2>
          <div id="dynamic-time">Loading current time...</div>
      
          <script>
              function fetchTime() {
                  fetch("/dynamic")
                  .then(response => response.text())
                  .then(data => {
                      document.getElementById("dynamic-time").innerText = data;
                  })
                  .catch(error => {
                      document.getElementById("dynamic-time").innerText = "Failed to load current time.";
                  });
              }
      
              setInterval(fetchTime, 1000);
              fetchTime();
          </script>
      </body>
      </html>
      EOF'
    3. 按Esc键退出编辑模式,然后输入:wq保存并退出。

    4. 执行sudo sh ECS_server_install.sh命令,运行脚本。

    5. 上传一个图片文件test.png到示例脚本所指定的/usr/share/nginx/html目录下。

  • 您已为业务域名www.<YOURDOMAIN>.fun配置了DNS解析,即已配置了A记录将域名指向源站服务器的公网IP。

    本文以阿里云云解析 DNS(Alibaba Cloud DNS)为例,为您介绍如何配置DNS解析。如何配置解析记录,请参见添加解析记录。如果您使用的DNS解析服务为非阿里云云解析DNS,请参见您的DNS服务商操作指导。

  • 您已开通CDN服务。

操作步骤

步骤一:配置GA实例

本文以按量付费的标准型GA实例为例。

  1. 在全球加速控制台的标准型实例 > 实例列表列表页面,单击创建标准型按量付费实例。

  2. 在实例基础配置配置向导页面,配置基础信息,单击下一步。

    GA基础配置.png

  3. 在配置加速区域配置向导页面,添加加速地域并为其分配带宽,然后单击下一步。

    本文以中国香港地域为例,加速区域添加为中国(香港),公网质量类型均配置为BGP(多线),其他参数可保持默认值或根据实际情况修改。加速区域配置详细信息,请参见添加和管理加速区域。

    重要

    如果带宽峰值设置过低,可能出现限速从而导致流量被丢弃,请合理规划带宽峰值,确保和业务需求匹配。

    GA加速区域.png

  4. 在配置监听配置向导页面,配置转发协议与端口,然后单击下一步。

    本文场景中,协议配置为HTTP,端口配置为80,其他参数可保持默认值或根据实际情况修改。监听配置详细信息,请参见添加和管理智能路由类型监听。

    HTTP监听.png

  5. 在配置终端节点组配置向导页面,配置终端节点后端服务,然后单击下一步。

    本文场景中,地域选择美国(硅谷),后端服务类型选择ECS,后端服务选择目标ECS实例,然后阅读并选中数据跨境合规承诺,其他参数可保持默认值或根据实际情况修改。终端节点组配置详细信息,请参见添加和管理智能路由类型监听的终端节点组。

    EPG.png

    GA 跨境合规.png

  6. 在配置审核配置向导页面,确认全球加速的配置信息,然后单击提交。

  7. 在实例列表页面,找到已创建的GA实例,在CNAME列获取GA实例分配的CNAME。

步骤二:配置CDN

  1. 在CDN控制台的域名管理页面,单击添加域名。

  2. 在域名信息配置向导页面,配置业务信息及源站信息。

    1. 配置业务信息。

      本文场景中,业务信息区域的加速区域选择全球(不包含中国内地),加速域名输入业务域名www.<YOURDOMAIN>.fun,其他参数可保持默认值或根据实际情况修改。关于域名信息配置详细信息,请参见添加加速域名。

      CDN 添加域名.png

    2. 配置源站信息。

      在源站信息区域单击新增源站信息,在新增源站信息对话框中,选择源站的类型,并填写源站地址,然后单击确定。

      本文场景中,源站信息选择源站域名类型并输入GA的CNAME,权重配置为100,其他参数可保持默认值或根据实际情况修改。关于源站信息配置详细信息,请参见添加加速域名。

      CDN 配置源站.png

    3. 选中数据跨境合规承诺,并单击下一步。

  3. 在推荐配置配置向导页面,可为域名配置缓存过期时间、带宽封顶、页面优化等功能的配置,您可以根据实际情况配置并单击一键配置,或直接单击跳过,暂不配置。

    本文场景中,在缓存过期时间区域,找到默认缓存规则,在操作列单击修改,并配置地址为/dynamic,过期时间为0秒,以实现动态内容回源获取。关于推荐配置的详细信息,请参见推荐配置(可选)。

    CDN PHP不缓存.png

  4. 在域名管理页面,找到已添加的域名,在CNAME列获取CDN分配的CNAME。

步骤三:配置DNS解析

域名添加成功后,您需要将对应域名的DNS解析到CDN的CNAME,访问加速域名的请求才能转发到CDN节点,实现加速效果。

为避免已有的A记录与CNAME记录产生冲突,您可以为A记录和CNAME记录设置不同的解析请求来源(即解析线路)。例如,本文场景下,您可以先为中国香港地区添加CNAME记录进行测试,待测试成功后,再逐步扩展至其他地区或切换为默认线路。

  1. 在域名解析页面,找到目标业务域名,在操作列单击解析设置。

    说明

    对于非阿里云注册域名,需要先添加域名到云解析控制台,才可以进行域名解析设置。

  2. 在解析设置页面,单击添加记录,配置CNAME记录,然后单击确定。

    本文场景中,记录类型配置为CNAME,主机记录配置为www,解析请求来源配置为亚洲_中国香港,记录值配置为CDN的CNAME,其他参数可保持默认值或根据实际情况修改。解析记录配置详细信息,请参见添加解析记录。

    DNS解析.png

步骤四:访问测试

在加速地域(本文为中国香港地域)的电脑中,使用浏览器打开开发者工具并访问www.<YOURDOMAIN>.fun,可以查看当前网页各资源的加载时间。

  1. 测试配置GA与CDN后的网络延迟情况。

    CDN+GA回源加速效果.png

  2. 测试未配置GA,仅配置了CDN的网络延迟情况。

    您可以将CDN源站信息从GA的CNAME修改为源站服务器的公网IP,并在GA中删除终端节点组,然后进行测试。

    CDN加速.png

  3. 测试未配置GA和CDN的网络延迟情况。

    您可以在CDN中停用加速域名,并在DNS中停用指向CDN的CNAME记录,然后进行测试。

    未使用CDN+GA.png

  4. 加速效果对比:

    汇总如上测试数据,可以看出使用CDN后,降低了静态内容(test.png)的访问延迟;在CDN基础上配置GA后,进一步降低了动态内容(dynamic)的访问延迟。

    场景

    静态内容test.png

    耗时(单位:毫秒)

    动态内容dynamic

    耗时(单位:毫秒)

    数据对比

    场景一:使用GA加速并且使用CDN

    5

    228

    相比场景二,动态内容访问速度提升50.5%。

    场景二:使用CDN但不使用GA

    5

    461

    相比场景三,静态内容访问速度提升98.1%。

    场景三:不使用GA与CDN

    261

    474

    /

说明

GA联动CDN后的加速效果以您的实际业务测试为准。

相关文档

  • 按量付费GA费用包括GA实例费、CU费、流量费,详情可参考按量付费全球加速实例计费。

  • GA联动CDN实现回源加速时,会产生CDN流量(或带宽)费用,详情可参考CDN计费概述。

相关文章

使用GA实现ACK跨域加速拉取容器镜像 2025-04-22 18:05

如需在ACK集群中跨域拉取海外源容器镜像,您可以创建全球加速GA(Global Accelerator)实例,使用其提供的覆盖全球的网络加速服务。

使用GA实现PAI-DSW跨域加速拉取海外模型或容器镜像 2025-04-22 18:05

当您使用海外容器镜像(如:docker.io镜像)创建交互式建模 PAI-DSW实例,或者在PAI-DSW实例中拉取海外模型时(如:huggingface.co模型),可能由于网络跨域的原因无法正常访问,为解决此问题,您可以创建全球加速GA(Global Accelerator)实例,使用其提供的覆

使用GA加速无影终端访问云电脑 2025-04-22 18:05

跨地域访问无影云电脑时,由于通过公网连接,因此可能会发生延迟高、画面卡顿等影响终端用户使用体验的问题。您可以通过使用全球加速 GA(Global Accelerator),使终端用户访问请求就近接入阿里云,通过阿里云内部的加速网络到达无影云电脑。无影云电脑企业版产品集成了GA服务,您可以在无影云电脑

使用GA实现视频直播服务加速 2025-04-22 18:05

视频直播基于全球加速产品的加速能力,提供直播链路的推流加速和播流加速服务。本文介绍如何在控制台配置直播全球加速。 背景信息 视频直播基于全球加速GA产品的加速能力,提供直播链路的推流加速和播流加速服务,依托阿里云优质BGP带宽和全球传输网络

使用GA实现ALB后端应用加速 2025-04-22 18:05

当您使用ALB部署的业务被全球多地域用户访问时,因公网网络质量不高可能导致网络延迟高、抖动、丢包等问题,影响终端用户使用体验。您可以通过使用全球加速GA实现应用加速,使终端用户访问请求就近接入阿里云,通过阿里云内部的加速网络到达应用服务器。 场景示例 企业在阿里云华东1(杭州)地域使用ALB部署了高

使用GA加速访问OSS资源 2025-04-22 18:05

用户直接访问对象存储 OSS(Object Storage Service)资源时,访问速度会受到

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号