CDN在发起回源请求时携带的HOST请求头默认为加速域名,您可使用本功能自定义回源HOST请求头。
背景介绍
当您有多个加速域名,每个加速域名负责加速不同静态的资源,常见的做法是开发多个源站支持不同加速域名发起回源请求资源。
如果加速域名比较多,回源流量很少时,重复建站会带来资源的极度浪费,您可通过虚拟站点技术解决该问题。
虚拟站点技术
虚拟站点技术是一种在单个Web服务器上提供多个网站服务的技术。服务器通过使用不同的域名或主机名来区分和隔离不同的网站。当用户请求访问某个特定的域名或主机名时,服务器会根据请求的域名或主机名,将请求定向到相应的虚拟站点,从而提供相应的网站内容。示意图如下:
Nginx相关实现
Nginx支持通过server
区块配置多个虚拟站点,示例如下:
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}
项目配置了3个虚拟站点,分别是example.org
、example.net
、example.com
。Nginx优先在HTTP请求头中查找HOST字段以确定请求需要路由到的虚拟站点,如果没有匹配到任何一个虚拟站点,Nginx会使用默认的虚拟站点提供服务(若未配置,默认为第一个server
配置为默认站点)。
默认回源HOST
当您访问一个URL链接时,不指定HOST字段,该请求的HOST字段默认为您访问URL链接的主机+端口部分。但是CDN默认将HOST字段设置为加速域名,您也可以根据您源站的虚拟站点配置,自定义HOST字段的默认值。
您的源站服务器需支持通过HOST请求头匹配不同的虚拟站点,否则该功能配置无法达到预期的功能效果。
操作步骤
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击回源配置。
在默认回源HOST区域,单击修改配置。
打开回源HOST开关,选择域名类型。
参数
说明
加速域名
以终端用户访问的加速域名作为回源HOST。
源站域名
以源站服务器的域名作为回源HOST。
说明源站信息为IP地址类型时,源站域名选项置灰,不可选择。
源站信息为OSS域名时,将会同步开启回源HOST功能,并且设置域名类型为源站域名。
自定义域名
以用户指定的域名作为回源HOST。
说明自定义域名确保为您已经绑定的域名,否则回源失败。
您的源站绑定了多个域名,您希望用户从指定域名获取资源。
单击确定。
配置示例
示例一:当源站类型为域名。
域名 | 说明 |
加速域名:
源站地址:
| 功能默认关闭。您可主动开启默认回源HOST功能。 回源域名类型说明:
|
示例二:当源站类型为IP地址。
域名 | 说明 |
加速域名:
源站地址:
| 功能默认关闭。您可主动开启默认回源HOST功能。 回源域名类型说明:
|
示例三:当源站类型为OSS域名。
域名 | 说明 |
加速域名:
源站地址:
| 当源站信息为OSS域名时,CDN将会同步开启回源HOST功能,并且设置域名类型为源站域名。 回源域名类型说明:
|