我有一个Web应用程序部署到Server 2008 IIS 7.5框中。
从远程发出此错误:401 - Unauthorized: Access is denied due to invalid credentials
。(远程=同一LAN上的桌面)
使用不同的浏览器尝试了多个远程客户端,所有结果相同。(即IE,FF和Chrome)
从服务器本身的桌面上打应用程序是完美的。但是,我还没有在服务器桌面上尝试过Firebug。我认为它仍在发出401状态代码,但仍返回内容。请参阅更新#2。
该应用程序正在使用匿名身份验证。
该应用程序是使用MVC框架以.NET 4.0 Asp.Net编写的。
静态内容可以正常工作,例如:http : //server.com/content/image.jpg
Sysinternals procmon
针对每个请求返回以下2个结果:FAST IO DISALLOWED和PATH NOT FOUND。
我还有2个其他MVC应用在同一台服务器上运行良好。我已经检查了文件夹的安全性,它们都匹配。
应用程序可以在Server 2008 IIS 7.0上正常运行。
没有与此相关的服务器上的事件日志中显示任何内容。
在这里拔头发,有任何故障排除提示吗?
更新#1:这只是我挖更多的WTF。
如果我在IIS管理器中的“应用程序”上单击->“错误页面”->“编辑功能设置”,请选择Detailed Errors
,该应用程序可以远程工作。不用管它了,所以问题还没有解决,只是更加令人困惑。
更新2:使用Firebug,我看到Status仍然是401 Unauthorized
,但是Response正在返回应用程序的正确HTML。
更新#3尝试失败的请求跟踪,这是导致401的警告请求跟踪:
ModuleName ManagedPipelineHandler
Notification 128
HttpStatus 401
HttpReason Unauthorized
HttpSubStatus 0
ErrorCode 0
ConfigExceptionInfo
Notification EXECUTE_REQUEST_HANDLER
ErrorCode The operation completed successfully. (0x0)
更新#4常规IIS日志显示如下:
#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2010-07-20 19:17:22
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-07-20 19:17:22 10.10.1.10 GET /Purchasing/Home - 80 - 10.10.1.12 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US;+rv:1.9.2.6)+Gecko/20100625+Firefox/3.6.6 401 0 0 4414
Html.RenderAction
,然后才意识到Razor的使用,Html.Action
所以我最初的搜索空了。