0

经过 4 小时查看堆栈溢出并搜索 Google 后,我终于决定与“希望”大师一起检查...

我的问题是,当通过远程桌面从本地计算机查询时,查询 www.domainname.com/Content/Styles/reset.css 我得到的 css 很好。

从外部机器执行相同操作时,出现 404 错误...我知道原因,原因是它试图从以下位置获取文件:C:\inetpub\wwwroot\Content\Styles\reset.css

考虑到该网站实际上托管在以下位置,这有点糟糕:c:\http\www.domainname.com\

来自 IIS 的浏览器中的错误提供以下信息: Module IIS Web Core Notification MapRequestHandler Handler StaticFile Error Code 0x80070002 Requested URL http://www.domainname.com:80/Content/Styles/reset.css 物理路径 C: \inetpub\wwwroot\Content\Styles\reset.css 登录方式匿名登录用户匿名

我一直在查看在 IIS 上运行的其他站点,它们都没有指向 InetPub 作为它们的目录,所以我根本不明白它为什么试图从这个路径获取项目。

调用主应用程序,一个基于 MVC 的运行 Umbraco 的站点,可以正常工作,或者更确切地说,所有动态内容都可以正常工作,而不是静态内容。

提供更多信息:目前 IIS 7.5 有 4 个站点和 1 个 ftp 服务器正在运行。

1 个具有以下绑定的站点:http - 第一个站点主机名 - 端口 80 - ip 地址 * https - 空白主机名 - 端口 443 - ip 地址 *

1 个具有以下绑定的站点:http - 第二个站点主机名 - 端口 80 - ip 地址 *

1 个具有以下绑定的域:http - 第三个站点主机名 - 端口 80 - ip 地址 *

实际域名 http - www.domainname.com - 端口 80 - ip 地址 *

最后是一个 ftp 服务器

我希望有人知道发生了什么...

最好的问候和祈祷(尽管是无神论者),波尔

4

2 回答 2

0

于是我发现了问题...

原来是代理问题...由于这是一个新站点,DNS 尚未设置,我们正在使用 HOSTS 文件。

不幸的是,在曼谷使用电缆连接时,True(最大的 ISP)会强制您使用代理,而不告诉您...

现在DNS实际上指向另一个IIS服务器......

当我提出请求时,请求域名 X 上的文件。我的机器通过我的 HOSTS 文件查找 IP 地址,发送请求,代理随后也进行了 DNS 查找,但获得了另一个 IP 地址,并转发了而是向该 IP 地址请求。

该服务器上的 IIS,知道 IP,知道域名,但有另一个配置,不知道我们要求的文件(对于新网站)......

所以确实对所有事情都有一个合乎逻辑的解释,只是并不总是一个显而易见的解释。

实际上,我通过使用另一个域进行测试来解决问题,一个根本不存在的域,在这个域上,代理当然无法查找它,并开始返回代码 324。

于 2012-07-26T11:34:03.813 回答
0

可能是您的网站不包含静态文件处理程序吗?如果处理程序映射包含静态文件作为处理程序,请检查您的网站。(最好在列表的底部)

更新: wwwroot 下是否有一个名为 content\styles 的物理文件夹?还是文件夹 www.domainname.com ?

您是否查看过来自 IIS 的本网站应用程序池的日志 -> C:\inetpub\logs\LogFiles\W3SVCxx(xx = 分配给您的应用程序池的编号)我忘记了如何找到它(通常我会快速检查这里有几个文件夹。

也许这是一个安全问题 -> 您是否在安全事件记录器中看到事件。

于 2012-07-25T13:42:11.017 回答