通过 CNAME 访问应用程序时出现 IIS6 403.1

通过 CNAME 访问应用程序时出现 IIS6 403.1

我们有一个名为 的服务器slc-app-01,以及一个配置为 的默认网站中的 ASP.NET 应用程序printflow。我在 DNS 中设置了一个 CNAMEprintflow指向 ,以便slc-app-01可以通过 访问该应用程序http://printflow/printflow

问题是,当通过该应用程序访问时,http://printflow/printflow它会返回:

403.1 禁止访问:执行访问被拒绝。

但通过访问时,http://slc-app-01/printflow它可以正常工作。

一年多来,这一直运行良好。我认为我们最近唯一改变的是安装 .NET 4.0 并使用 IIS 注册 ASP.NET 4.0。但是,该应用程序仍配置为 .NET 2.0,并且我们为 4.0 应用程序创建了一个单独的 AppPool。

谢谢你的帮助。

答案1

您是否已将“printflow”添加到 IIS 中网站的主机头中?

答案2

您可以检查以下事项:

  1. 当您尝试访问服务器时是否涉及 Web 代理?您是否需要针对该主机标头进行配置?
  2. 当您执行 nslookup printflow 时会发生什么?它能解析到正确的 IP 地址吗?
  3. 您是否检查过该网站的 http 绑定?它是否接受“printflow”http 主机标头?

答案3

最终发现是 HOST Header 问题。有人将某个网站配置printflow为 hostheader,并窃取了所有请求。由于这个恶意网站的“执行权限”配置为“无”,因此即使该网站没有任何文件,它也会针对“*.aspx、asmx 等...”抛出 403.1 而不是 404。

相关内容