【问题标题】:How to remove internal server error phrase from status code 500 pages?如何从状态码 500 页面中删除内部服务器错误短语?
【发布时间】:2018-11-20 03:26:08
【问题描述】:

当我们的应用程序生成错误 500 时,我们希望完全控制错误页面的内容。但是 IIS 在页面顶部添加了一个短语,The page cannot be displayed because an internal server error has occurred.

最初,IIS 错误页面显示在我们的错误页面上方。在错误页面下的 IIS 管理器中,我删除了状态代码 500 的页面。这删除了默认的 IIS 错误页面内容,但在我们的错误页面上方留下了服务器错误消息。

  • 我已确认浏览器未添加内容
  • 我确认它不是来自我们的应用程序。如果我将 IIS 错误页面设置设置为详细错误,则该短语不会出现
  • 我们不希望为远程流量启用详细错误,只是为了解决错误 500。

我们如何禁用这个短语?

【问题讨论】:

标签: iis coldfusion iis-8.5 coldfusion-2016


【解决方案1】:

消息由 IIS 附加。如果您不希望 IIS 中断您的错误处理,请切换到 web.config 中的自定义错误模式:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <system.webServer>

        <!-- bypass IIS error handler -->
        <httpErrors errorMode="Custom" existingResponse="PassThrough" />

    </system.webServer>

</configuration>

More documentation about httpErrors can be found here.

【讨论】:

  • 有什么方法可以在 IIS 管理器界面中实现这一点吗?
  • 至少errorMode可以通过GUI修改:Error Pages->Edit Feature Settings...(右侧)->Custom
  • 我遇到的问题是它试图通过所有错误,如果我的应用程序没有内容,例如在静态文件上的 404 的情况下,则没有内容返回给浏览器,用户得到一个浏览器特定的错误页面。我查看是否有一种方法可以仅通过 500 个错误页面内容,但似乎不受支持。我看到的唯一具有所需结果的选项是将 500.htm 错误页面设为空白,以便当它出现在我们的错误内容上方时,不会添加任何内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 2020-03-11
  • 2021-10-28
  • 1970-01-01
相关资源
最近更新 更多