如何确定源站IIS/宝塔站点绑定的主机头是否正确?
美国、香港服务器
如何确定源站IIS/宝塔站点绑定的主机头是否正确?
08-12 来源:
一、Windows IIS 查看 / 验证主机头(主机名)
方式 1:图形界面直接查看
运行 inetmgr 打开 IIS 管理器
左侧选中你的网站 → 右侧【绑定】
在弹出列表里查看每一条绑定:
主机名:就是主机头
示例:
类型 http,端口 80,主机名:www.xxx.com
主机名空白 = 空主机头,任意域名 / IP 访问都会落到这个站点
关键规则
CDN 回源 HOST 必须和这里的【主机名】完全一致(字母大小写不敏感,但字符必须一模一样)。
方式 2:命令行快速查询(管理员 PowerShell)
powershell
Get-WebBinding | Select-Object siteName,protocol,port,hostHeader
hostHeader 列就是主机头。
IIS 自测验证(最准)
在源站服务器本机执行测试,模拟 CDN 回源带 Host 头访问:
cmd
curl -H "Host: www.xxx.com" http://127.0.0.1
返回网站正常页面 → 主机头匹配成功
返回 400、空白、默认 IIS 欢迎页 → 主机头不匹配
如果你 CDN 回源 HOST 填错,CDN 节点发起请求携带错误 Host,IIS 无法匹配站点,出现 400 Bad Request。
二、宝塔面板(Windows 宝塔 Nginx/Apache)查看主机头
1. Nginx 环境(宝塔主流)
宝塔面板 → 网站 → 站点设置 →【域名】
这里填写的域名就是站点绑定域名(主机头)。
查看配置文件核对:
站点设置 → 配置文件
找到类似:
nginx
server_name www.xxx.com xxx.com;
server_name 后面的值就是主机头。
2. Apache 环境
打开站点配置,查找:
apache
ServerName www.xxx.com
ServerAlias xxx.com
宝塔自测验证
服务器内 cmd 执行:
cmd
curl -H "Host:www.xxx.com" http://127.0.0.1
正常输出页面 = 主机头有效。
三、一套通用判断标准(CDN 场景核心)
假设:
用户访问加速域名:cdn.xxx.com
源站服务器 IP:111.222.333.444
情况 A
IIS / 宝塔绑定主机头:cdn.xxx.com
CDN 回源 HOST 填:cdn.xxx.com
情况 B
IIS / 宝塔绑定主机头:www.xxx.com,只是对外用cdn.xxx.com加速
CDN 回源 HOST 必须填:www.xxx.com(不要填加速域名)
情况 C
主机头为空(空白)
CDN 回源 HOST 随便填一般可通,但不推荐生产使用,多站点环境极易窜站。
四、如何确认 “CDN 当前传给源站的 Host 头是什么”【终极排查手段】
方法 1:查看 IIS 访问日志
IIS 日志默认路径:
C:\inetpub\logs\LogFiles\
打开日志,找到 cs-host 字段
cs-host 就是 CDN 回源时携带的 Host 头(即回源 HOST 配置值)
对比它和站点主机头是否一致。
方法 2:临时搭建探针查看请求头
新建一个 hostcheck.asp 或者简单 php 页面,输出收到的 Host:
ASP 示例:
asp
<%
Response.Write "Host头:" & Request.ServerVariables("HTTP_HOST")
%>
通过 CDN 域名访问,页面打印出来的值 = CDN 实际携带的回源 HOST。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快