【问题标题】:ASP.NET disable debug error messages on localhostASP.NET 禁用本地主机上的调试错误消息
【发布时间】:2015-11-06 23:26:02
【问题描述】:

我有一个项目正在运行一个小型 node.js 应用程序作为反向代理。反向代理收到的一些请求被定向到安装在同一台机器上的 IIS,这自然会通过 localhost / 127.0.0.1 访问 IIS。

因此,IIS 会在出现错误时自动返回详细的错误消息。自然,代理将这些信息发送给用户,这并不好,因为它们包含的信息比我希望外部用户看到的要多。我试图通过在 web.config 中显式设置编译 debug="false" 来关闭详细的错误消息,但是由于请求来自 localhost,IIS 似乎决定返回详细的调试错误消息。

有没有办法禁止返回这些调试错误消息,即使请求来自本地主机?

我正在运行 Windows 2012 RS、IIS 8、.NET 4.6。

【问题讨论】:

    标签: asp.net iis iis-8


    【解决方案1】:

    好的,我找到了我需要做的,以确保 IIS 永远不会返回详细的错误消息,无论是否是本地的。

    更多详情can be found here.

    简短的回答是:启动 IIS 管理器,单击网站,在 IIS 下转到错误页面,右键单击预定义的错误消息并选择“编辑功能设置”,然后选择“自定义错误页面”。然后定义要显示的页面。

    或者,您可以在 system.webServer 下的 web.config 中定义您的首选项,其值如下所列。 “errorMode”默认为“DetailedLocalOnly”,这导致了我试图避免的问题。设置为“自定义”可以解决问题。

    <httpErrors errorMode="Custom">
        <remove statusCode="401" subStatusCode="-1"/>
        <error statusCode="401" prefixLanguageFilePath="" path="/errors/401.html" responseMode="ExecuteURL"/>
    </httpErrors>
    

    【讨论】:

      猜你喜欢
      • 2010-11-24
      • 1970-01-01
      • 2021-06-03
      • 2014-04-18
      • 2018-04-05
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多