为什么asp.net在IIS 8.5(Win 2012 R2)中,www.example.com错误的空白页面会显示“200 OK”?

l0oc07j2  于 2023-06-06  发布在  .NET
关注(0)|答案(7)|浏览(453)

我已经设置了运行IIS 8.5的新Windows 2012 R2服务器。
我们注意到,当发生错误时(例如ASP.NET状态服务没有运行),而不是输出500状态代码错误屏幕,请求实际上返回一个完全空白的页面(只有标题-没有内容)。我们显然需要看到的错误和服务200确定为一个错误可能是非常有问题的索引,如谷歌等或任何wesite监测工具(这不会通知我们,该网站已经离线)。
在我们的其他服务器(IIS 7)上,我们看到“黄色错误屏幕”,并显示“无法连接到状态服务器”(或类似消息)。
这能有什么问题是否有一些设置可以全局禁用所有错误(但如果它还提供200状态代码,那么这将是愚蠢的),或者可能有其他东西阻碍了它?
唯一可能造成干扰的是我们在服务器上安装了ISAPI_Rewrite(但这通常不会导致此问题)。
谢谢!

lstz6jyr

lstz6jyr1#

在Windows 8上有类似的问题。
在设置中搜索“打开或关闭Windows功能”。
检查以下功能是否已启用
“/Internet信息服务/万维网服务/常见HTTP功能/HTTP错误"。“/Internet信息服务/万维网服务/常见HTTP功能/静态内容"。

cnjp1d6j

cnjp1d6j2#

您需要确保在ASP模块中未启用服务器端调试。
经典的ASP服务器500错误将作为200返回。尝试打开服务器端调试应用程序,然后无法找到,IIS随后返回200响应和空白页。

00jrzges

00jrzges3#

请确保您没有在Global.asax.cs的Application_Error中调用Server.ClearError(),这最终成为了我的问题。

lyfkaqu1

lyfkaqu14#

撕下所有Global.asax代码帮助我找到了错误的原因。
之后,IIS开始按预期返回错误页面。然后,在应用修复后,我返回了Global.asax代码。
也许这个案子能帮到你。

hlswsv35

hlswsv355#

我在请求Default.aspx(在目录中设置为页面默认值)时遇到了类似的问题。服务器返回状态200,但内容为空。
在本例中,它可以将应用程序池的托管管道模式从集成模式切换到经典模式。

tyky79it

tyky79it6#

确保已启用HTTP激活

db2dz4w8

db2dz4w87#

我也遇到了同样的症状,但在我的情况下,这是因为.NET信任级别比应用程序所需的级别低。
在IIS管理器>连接> YourServer > .NET信任级别中,将信任级别更改为完全解决了问题。

相关问题