通过web.config中的<httperrors>删除所有IIS错误消息

时间:2016-10-16 15:15:00

标签: asp.net-mvc iis web-config

我实施以下内容:

date       ticker   po       tag1
2016-10-13    UX1 -206.0000  SV
2016-10-13    UX2 -617.0000  SV
2016-10-13     EP -647.0000  SV
2016-10-14    UX1 -206.0000  SV
2016-10-14    UX2 -617.0000  SV
2016-10-14     EP -647.0000  SV
2016-10-15    UX1 -206.0000  SV
2016-10-15    UX2 -617.0000  SV
2016-10-15     EP -647.0000  SV

但是,我想删除所有IIS错误页面,以便我的内部详细信息都不会在404,403,500等上公开。我已尝试使用:

<httpErrors errorMode="Custom">
  <remove statusCode="404" />
  <error statusCode="404" path="~/Error" responseMode="ExecuteURL" prefixLanguageFilePath="" />
  <remove statusCode="500" />
  <error statusCode="500" path="~/Error" responseMode="ExecuteURL" prefixLanguageFilePath="" />
</httpErrors>

无济于事。这里有标准解决方案吗?

1 个答案:

答案 0 :(得分:2)

正如@Peter所说,你可以使用<clear>元素。

  

您可以使用<remove>元素从您的站点或应用程序从IIS配置层次结构中的更高级别继承的错误消息集合中删除特定错误消息。此外,您可以使用<clear>元素从您的站点或应用程序继承的HTTP错误消息集合中删除所有HTTP错误消息。

参考:iis.net

示例:

<httpErrors errorMode="Custom">
  <clear />
  <error statusCode="404" path="/Error" responseMode="ExecuteURL" />
  <error statusCode="500" path="/Error" responseMode="ExecuteURL" />
</httpErrors>

(旁注:path元素的error属性中不允许使用虚拟路径。)