本教程指导您如何通过一个全球加速GA(Global Accelerator)实例加速访问多个HTTP域名。

前提条件

您的网站已经完成备案。所有对中国内地提供服务的网站都必须先进行ICP备案,才可开通服务。更多信息,请参见什么是ICP备案

背景信息

本教程以下图场景为例。某公司的总部在北京地域,总部在阿里云上创建了两台服务器,两台服务器均部署了Web服务,并通过不同的HTTP域名对外提供服务。客户端主要分布在杭州地域,该公司的Web服务面临以下挑战:
  • 公网传输不稳定,经常出现延迟、抖动、丢包等网络问题。
  • 多台服务器通过不同的域名对外提供服务,为网站配置加速服务时,需要分别为每个域名进行加速,成本较高。

您可以部署全球加速服务,并配置HTTP协议监听。全球加速的HTTP协议监听支持配置基于域名的转发策略,通过匹配不同的访问域名,然后将访问请求转发至后端相应的服务器,实现通过一个全球加速实例同时加速访问多个HTTP域名。

多路径HTTP-HTTP

当前该公司Web服务器的服务信息以及该公司使用全球加速服务后对客户端访问请求的转发规划如下表所示:

访问域名对应转发策略对应终端节点组对应服务器服务器服务协议服务器服务端口服务器公网IP
www.xxxtest.icu自定义转发策略虚拟终端节点组服务器1HTTP80182.XX.XX.248
xxxtest.icu默认转发策略默认终端节点组服务器2HTTP80182.XX.XX.196

配置步骤

多域名访问配置步骤

步骤一:组合购买实例

您可以在全球加速控制台填写自己的加速业务,系统会根据加速业务智能推荐加速方案。根据系统推荐的加速方案,您可以组合购买加速业务所需要的加速实例和基础带宽包。

  1. 登录全球加速管理控制台
  2. 实例列表页面,单击右上角的购买向导
    说明 如果您是首次使用全球加速服务,请忽略该步骤。
    购买向导
  3. 智能推荐产品方案,选择以下与您业务相关的选项区域,根据以下信息填写加速业务,然后单击点击生成方案
    配置说明
    您需要加速的地域选择需要进行访问加速的地域。

    本文选择杭州

    服务所在地域选择目标服务器所在的地域。

    本文选择北京

    是否有ICP备案选择您的加速服务是否有备案。

    本文选择有备案

    服务端部署在选择后端服务部署所在位置。

    本文选择阿里云

    峰值带宽的范围输入业务高峰期需要的带宽用量,单位是Mbps。

    本文输入2

    最大并发连接数最大并发连接数定义了一个全球加速实例能够承载的最大连接数。当实例上的连接超过规格定义的最大连接数时,新建连接请求将被丢弃。

    本文选择5千

  4. 推荐方案区域,确认方案内容后,单击去组合购买
    推荐方案
    说明 推荐方案中的实例配置为符合您业务的最小值方案,您还可以在购买页面进行修改。
  5. 在购买页面,根据以下信息购买加速业务所需要的实例,然后单击立即购买并完成支付。
    配置说明
    订购时间选择实例的订购时间。
    规格选择购买全球加速实例的规格。

    本文选择小型Ⅰ(规格单元)

    带宽类型选择购买基础带宽包的带宽类型。

    本文选择标准加速带宽

    带宽峰值选择购买基础带宽包的带宽峰值。

    本文选择为2 Mbps。

步骤二:添加加速区域

购买业务所需要的实例后,您便可以添加加速区域,指定客户端所在地域并为其分配带宽,以便其接入全球加速服务。

  1. 实例列表页面,找到已经购买的全球加速实例,单击其实例ID。
  2. 在实例详情页面,单击加速区域页签,然后在华东页签下单击添加接入地域
  3. 添加加速区域对话框,根据以下信息配置加速地域,然后单击确定
    配置说明
    地域选择访问加速服务用户的所属地域。

    本文选择杭州

    带宽输入加速服务的地域带宽。

    本文输入2 Mbps。

    IP地址协议选择用户接入全球加速服务的IP地址协议。

    本文选择IPv4

    添加成功后,全球加速会在接入地域分配一个加速IP,用来加速用户访问。加速IP

步骤三:添加监听和终端节点组

监听负责检查连接请求,根据您指定的端口和协议处理来自客户端的入站连接。每个监听都关联一个终端节点组,通过指定要分发流量的地域,将终端节点组与监听关联。关联后,全球加速会将流量分配到与监听关联的终端节点组内的最佳终端节点。

关于配置默认终端节点组和虚拟终端节点组,请参见终端节点组

  1. 在实例详情页面,单击监听页签,然后单击添加监听
  2. 配置监听和协议页面,根据以下信息配置监听,然后单击下一步
    配置说明
    监听名称输入监听的名称。

    名称长度为2~128个字符,以大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。

    协议选择监听的协议类型。

    本文选择HTTP

    端口指定用来接收请求并向终端节点进行转发的监听端口,端口取值范围:1~65499

    本文输入80

    客户端亲和性选择是否保持客户端亲和性。保持客户端亲和性,即客户端访问有状态的应用程序时,可以将来自同一客户端的所有请求都定向到同一终端节点。

    本文选择源IP

  3. 配置终端节点配置向导页面,根据以下信息配置默认终端节点组,然后单击下一步
    配置说明
    节点组名称输入终端节点组的名称。

    名称长度为2~128个字符,以大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。

    地域选择终端节点组所属的地域,即请求要访问的后端服务器的所属地域。

    本文选择北京

    后端服务部署在选择后端服务部署在阿里云还是非阿里云。

    本文选择阿里云

    保持客户端源IP默认开启保持客户端源IP功能,支持后端服务查看客户端源IP地址。HTTP监听将从HTTP的x-forward-for字段读取客户端源IP地址。更多信息,请参见保持客户端源IP
    终端节点终端节点是客户端请求访问的后端服务器。您可以根据以下信息配置终端节点:
    • 后端服务类型:选择阿里云公网IP
    • 后端服务:输入要加速的后端服务的IP地址。本文输入服务器2的公网IP地址182.XX.XX.196
    • 权重:输入终端节点权重,权重取值范围:0~255。全球加速根据您配置的权重按比例将流量路由到终端节点。
      警告 如果某个终端节点的权重设置为0,全球加速将终止向该终端节点分发流量,请您谨慎操作。
    后端服务协议选择后端服务器使用的服务协议:
    • HTTP(默认值)
    • HTTPS

    本文保持默认配置为HTTP

  4. 配置审核配置向导页面,确认监听和终端节点配置信息后,单击提交
  5. 配置虚拟终端节点组。
    1. 监听页面,找到目标监听实例,单击默认终端节点组ID/名称列下的实例ID。
    2. 终端节点组页面,单击添加虚拟终端节点组
    3. 添加虚拟终端节点组对话框,根据以下信息进行配置,然后单击创建
      此处配置与步骤3的默认终端节点组基本一致,其中后端服务输入要加速的后端服务的IP地址。本教程输入服务器1的公网IP地址182.XX.XX.248

步骤四:添加转发策略

基于HTTP协议的监听支持配置转发策略。在您创建HTTP协议监听后系统自动创建一条默认转发策略指向默认值终端节点组。您可以创建自定义转发策略指向虚拟终端节点组。

转发策略可以通过域名或路径匹配访问请求,在满足匹配条件后,HTTP协议监听将访问请求转发至对应终端节点组的最佳终端节点中。其中HTTP协议监听接受到访问请求后,会优先匹配自定义转发策略,如果访问请求未匹配到任何自定义转发策略,将会直接通过默认转发策略被转发至默认终端节点组中。

本步骤为服务器1对应的虚拟终端节点组创建自定义转发策略。

  1. 在监听详情页面,单击转发策略
  2. 转发策略页签下,单击插入新策略
  3. 插入新策略区域,根据以下信息配置转发策略。
    • 策略名称:输入转发策略的名称。

      名称长度为2~128个英文或中文字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。

    • 如果(条件全部匹配):选择转发条件的匹配方式。本教程选择域名,并输入要匹配的域名www.xxxtest.icu

      域名长度为3~128个字符,允许包含字母、数字、下划线(-)和半角句号(.),支持使用星号(*)和半角问号(?)作为通配符。

    • 那么转发至虚拟终端节点组:选择终端节点组。本教程选择创建的虚拟终端节点组。
  4. 单击确定
    多域名HTTPS访问-转发策略

步骤五:配置DNS解析

您需要将要访问的域名通过DNS解析到全球加速的CNAME地址,访问请求才能转发到全球加速,实现加速效果。本教程以阿里云云解析DNS为例,为您介绍如何修改DNS解析。
说明 如果您使用的DNS解析服务为非阿里云云解析DNS,请登录您的DNS服务商系统修改网站域名的解析记录。
  1. 登录阿里云云解析DNS控制台
  2. 域名解析页面,找到目标域名,在操作列下单击解析设置
  3. 解析设置页面,找到要修改的解析记录,在操作列单击修改
  4. 修改记录面板,选择记录类型CNAME,并将记录值修改为全球加速实例分配的CNAME地址,然后单击确认多域名HTTPS-DNS解析

步骤六:访问测试

完成以下操作,测试客户端是否可以通过不同域名访问部署在北京的Web服务,并实现访问加速。
说明 本教程以Linux操作系统为例进行测试。不同类型的操作系统测试命令可能会有差异,具体测试命令请参见您操作系统的操作指南。
  1. 在接入地域(本文为杭州)的电脑中打开命令行窗口。
  2. 通过域名www.xxxtest.icu访问后端Web服务,并查看加速效果。
    1. 执行以下命令,测试网站连通性。
      curl http://<网站域名>
      图 1. 访问结果
      http多域名-server1结果
    2. 执行以下命令,查看数据传输情况。
      curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http://<网站域名>"
      其中:
      • time_connect:连接时间,从开始到建立TCP连接完成所用的时间。
      • time_starttransfer:开始传输时间。在客户端发出请求后,到后端服务器响应第一个字节所用的时间。
      • time_total:连接总时间。客户端发出请求后,到后端服务器响应会话所用的时间。
      图 2. 加速前的访问传输情况
      HTTP-HTTPserver2加速前
      图 3. 加速后的访问传输情况
      HTTP-HTTPserver2加速后
      说明 使用全球加速服务后的加速效果以您的实际业务测试为准。
  3. 通过域名xxxtest.icu访问后端Web服务,并查看加速效果。
    1. 执行以下命令,测试网站连通性。
      curl http://<网站域名>
      图 4. 访问结果
      HTTP多域名-server2访问结果
    2. 执行以下命令,查看数据传输情况。
      curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http://<网站域名>"
      其中:
      • time_connect:连接时间,从开始到建立TCP连接完成所用的时间。
      • time_starttransfer:开始传输时间。在客户端发出请求后,到后端服务器响应第一个字节所用的时间。
      • time_total:连接总时间。客户端发出请求后,到后端服务器响应会话所用的时间。
      图 5. 加速前的访问传输情况
      server2访问后
      图 6. 加速后的访问传输情况
      http多域名-server2加速后
      说明 使用全球加速服务后的加速效果以您的实际业务测试为准。