同IP下IIS 10绑定主机名后网站出现Error 404错误求助
解决IIS绑定主机名后出现404错误的问题
我来帮你一步步排查这个常见的IIS多站点绑定问题,咱们从最基础的配置到深层追踪逐一确认:
1. 先验证DNS解析是否正确
- 本地用命令行快速测试:
- 运行
ping domainname.com和ping sub.domainname.com,确认返回的IP就是你的服务器IP - 也可以用
nslookup domainname.com查看解析结果,确保没有指向错误的地址 - 如果是本地调试,记得检查
C:\Windows\System32\drivers\etc\hosts文件,手动添加两行(替换成你的服务器IP):
避免本地DNS缓存干扰解析结果你的服务器IP domainname.com 你的服务器IP sub.domainname.com
- 运行
2. 检查IIS站点绑定的细节配置
- 网站1(domainname.com):
- HTTP(80端口)绑定:协议选HTTP,IP地址选你的服务器IP(或「全部未分配」),端口填80,主机名准确填写
domainname.com - HTTPS(443端口)绑定:协议选HTTPS,IP地址对应服务器IP,端口443,主机名填
domainname.com,同时务必选择正确的SSL证书
- HTTP(80端口)绑定:协议选HTTP,IP地址选你的服务器IP(或「全部未分配」),端口填80,主机名准确填写
- 网站2(sub.domainname.com):
- HTTP(80端口)绑定:协议选HTTP,IP地址同服务器IP,端口80,主机名准确填写
sub.domainname.com
- HTTP(80端口)绑定:协议选HTTP,IP地址同服务器IP,端口80,主机名准确填写
- 注意:主机名不要有空格、拼写错误,虽然IIS不区分大小写,但尽量和域名完全一致
3. 调整IIS站点的优先级顺序
- IIS处理同一IP+端口的请求时,会按站点列表的顺序匹配。如果有未绑定主机名的站点排在前面,会优先接管请求,导致绑定了主机名的站点收不到请求
- 解决方法:在IIS管理器中,右键你的两个站点→「管理网站」→「上移」,把它们放到站点列表的顶部
- 另外,检查有没有其他站点绑定了相同的IP+端口+主机名,这种冲突会导致IIS忽略其中一个站点的绑定配置
4. 验证站点的物理路径和权限设置
- 右键站点→「基本设置」,确认物理路径是不是你网站文件所在的正确路径,文件夹必须存在且路径无误
- 检查文件夹权限:确保
IIS_IUSRS用户和你的应用池用户(IIS AppPool\[你的应用池名称])有读取该文件夹的权限
5. 用IIS日志和失败请求跟踪定位深层问题
- 开启「失败请求跟踪规则」:在站点的功能视图中找到这个选项,创建规则跟踪404错误,能看到请求处理的全流程,精准定位问题环节
- 查看日志文件:默认路径是
C:\inetpub\logs\LogFiles,找到对应时间的404请求,查看cs-host字段是不是你绑定的主机名,cs-uri-stem是不是正确的访问路径,判断请求有没有到达目标站点
内容的提问来源于stack exchange,提问作者saint.e
相关产品推荐
相关产品推荐

