记录:nginx 设置源站线路与回源host,两者的示意图如下:
源站设置
源站设置主要是对资源文件的源站地址进行管理以及配合源站实际资源情况进行一些更高级的设置,包括主备线路、端口号、轮询权重等。其中,源站地址配置支持 IP 和域名的形式,例如:
IP:1.1.1.1
域名:a.test.com
针对源站地址为域名源站的情况,CDN 节点会进行一次 DNS 解析,解析到的 IP 即为真实的源站地址。
示例:
upstream test {
server 1.1.1.1:80;
server 1.1.1.2:80;
server 1.1.1.3:80;
}
回源host
回源 HOST 是指 CDN 节点回源过程中所需访问的源站服务器 WEB 站点资源的域名,源站服务器上可能存在若干个 WEB 站点,回源 HOST 指明了资源所在的站点。
CDN 节点回源时会在 HTTP 请求头 HOST 字段里替换该域名,一般是域名形式的字符串,例如:ccc.test.com。
回源 HOST 为可选配置项,默认为空,即遵循访问域名;
源站地址和回源 HOST 的区别:源站地址是 CDN 节点回源时能够找到对应的源站服务器,源站可能有多个 WEB 站点,回源 HOST 则指明了资源所在的站点。
示例:
location / {
# 回源Host,默认使用访问域名去回源
# proxy_set_header Host $host:$server_port;
# 自定义回源host
proxy_set_header Host ccc.test.com:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://test;
}