关闭IIS8自定义错误的经典ASP - 潜力还错误在IIS中?(Turning off IIS8

2019-08-31 14:20发布

我想我已经找到了IIS错误页面系统有关的错误。

注: - 我不使用.NET错误页 - 此设置为关闭

问题:

当一个自定义错误页是设置为500.100(经典ASP)响应代码,IIS始终发送,即使errorMode设定为详细自定义错误页。 让IIS发送错误的唯一方法就是明确地消除在web.config中的条目。

例如:

<remove statusCode="500" subStatusCode="100"/>
 or
<clear/>

注-以下工作(这对于所有其他代码的工作):

<remove statusCode="500" subStatusCode="-1"/>

我的情况:

  • IIS 8(我不知道,如果在旧版本的IIS存在问题)
  • 网站运行.NET 2.0 - 经典管道
  • 功能委派上设置为只读错误页面
  • 在IIS错误页面设置如下(由于该特征代表团,这些项目都没有在web.config中):
    • 404 - /path/to/404.htm - ExecuteURL
    • 500 - /path/to/500.htm - ExecuteURL
    • 500.100 - /path/to/500.htm - ExecuteUrl

关闭自定义错误:

为了关闭自定义错误,我需要做的是:

  • IIS负荷
  • 加载Error Pages
  • 点击Edit Feature Settings
  • 选择Detailed Errors

这成功地适用于除了传统的ASP 500错误的所有代码(状态码500.100)。

我能得到适当的经典ASP错误的唯一方法是设置以下的(要求我改变功能委派为读/写):

<system.webServer>
    <httpErrors errorMode="Detailed">

        <clear/>  
        OR    
        <remove statusCode="500" subStatusCode="100"/>

    </httpErrors>    
</system.webServer>

摘要

看来,如果一个500.100自定义错误页的设置,然后设置的详细错误为true经典ASP 500错误, 无法正常工作。

这是一个错误还是我失去了一些东西?

Answer 1:

它是一种已知的bug,我们还可以得到,并通过去除500错误,而是从配置的“的时候,你可以找到任何东西送“时间”部分链接到我们的自定义页面周围的工作。

(我不能remenber副手什么其所谓的)



Answer 2:

尝试修改你的web.config以这种方式(它为我工作与IIS 7.5)。

更换线

<httpErrors errorMode="Detailed">

<httpErrors existingResponse="PassThrough" errorMode="Detailed">

这是因为,通过默认IIS7截取HTTP状态代码由应用程序生成的如4XX和5XX进一步向上管道。



文章来源: Turning off IIS8 Custom Errors for Classic ASP - Potenial bug in IIS?