我已经设置了一个运行IIS 8.5的新Windows 2012 R2服务器。
我们注意到,当发生错误(例如,ASP.NET状态服务未运行)时,请求实际上返回一个完全空白的页面(只有标题 - 没有内容),而不是输出500状态代码错误屏幕。我们显然需要查看错误并为错误提供200 OK可能对Google等索引器或任何wesite监控工具(这不会通知我们该网站已脱机)存在问题。
在我们的其他服务器(IIS 7)上,我们看到“黄色错误屏幕”,其中包含“无法连接到状态服务器”(或类似)的消息。
这里可能有什么问题?是否有一些设置可以全局禁用所有错误(但如果它还提供200状态代码,这将是愚蠢的)或者还有其他东西会妨碍它?
唯一可能干扰的是我们在服务器上安装了ISAPI_Rewrite(但这通常不会导致此问题)。
谢谢!
答案 0 :(得分:20)
在Windows 8上遇到类似的问题。
在设置中搜索"打开或关闭Windows功能"。
检查是否已启用以下功能
" / Internet信息服务/万维网服务/常见HTTP功能/ HTTP错误"。 " / Internet信息服务/万维网服务/常见HTTP功能/ 静态内容"。
答案 1 :(得分:5)
您需要确保ASP模块中未启用服务器端调试。
经典ASP服务器500错误以200秒的形式返回。尝试打开服务器端调试应用程序,然后找不到,然后IIS返回200响应和空白页。
答案 2 :(得分:4)
确保你没有在Global.asax.cs的Application_Error中调用Server.ClearError(),这最终成了我的问题。
答案 3 :(得分:3)
删除所有Global.asax代码帮助我找到错误的原因。
之后,IIS开始按预期返回错误页面。然后,在应用修复程序后,我返回了Global.asax代码。
也许这种情况可以帮助你。
答案 4 :(得分:1)
我在请求Default.aspx时遇到了类似的问题(在目录中设置为页面默认值)。服务器返回状态200,但内容为空。
在这种情况下,它可以将应用程序池的托管管道模式从集成切换为经典。
答案 5 :(得分:0)
确保已启用HTTP激活