如何在IIS中配置CDN回源HOST?
美国、香港服务器
如何在IIS中配置CDN回源HOST?
09-07 来源:
## 方式一:标准正确做法(推荐,99% 场景)—— 配置 IIS 站点绑定【主机头】
1. 打开 IIS 管理器,选中你的网站 →右侧【绑定】
2. 编辑 80/443 绑定,填写**主机头:`shturl.cc/xGyaEckX`**(你的业务域名)
3. 保存
4. 去 CDN 控制台,**回源 HOST 填写这个主机头域名**
IIS 靠 HTTP 请求里的 Host 头(CDN 回源 HOST)选择对应网站;一台服务器多个站点,完全依靠主机头区分站点。
### 验证回源是否匹配(服务器本机 PowerShell 执行)
curl -v -H "Host:shturl.cc/xGyaEckX" http://127.0.0.1
返回 200,说明 IIS 识别这个 Host 头。
## 方式二:特殊兼容场景:CDN 无法自定义回源 HOST(极少数老旧 CDN)
CDN 厂商限制,不能修改回源 HOST,回源总是带加速域名 / IP,和 IIS 主机头不一致,导致 404。
此时在 IIS 用**URL 重写模块强制改写 HTTP_HOST 服务器变量**,把 CDN 过来的请求强制改成 IIS 识别的主机头。
前提:已经安装好 URL 重写模块,IIS 需要开启允许修改服务器变量。
### 1、IIS 开启允许修改服务器变量
IIS 管理器 →选中站点 →【URL 重写】→右侧【查看服务器变量】→添加变量名:`HTTP_HOST`,允许。
### 2、web.config 规则,放到网站根目录
风险提醒:**优先 CDN 控制台修改回源 HOST,不要优先用重写改 Host**,这是兼容兜底方案。
## 方式三:IIS 设置默认网站(不推荐)
把出错的站点设置成 IIS 的**默认站点**,当 Host 头不匹配任何主机头时,IIS 会落到默认站点。
弊端:服务器上所有未匹配 Host 的请求全部跑到这个网站,多站点服务器会出现域名互相串站,**生产环境不建议。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快