ASP.NET Core/IIS:“HTTP 错误 404.8 - 未找到” – 为什么 web.config 文件的处理方式与其他内容根文件不同?

问题描述 投票:0回答:1

我设置了一个由 IIS 进程内托管的 ASP.NET Core 应用程序。

当我尝试访问 content root 文件夹中的任何文件时,Kestrel 会正确返回

HTTP 404

但是,当我请求

https://localhost/web.config
时,我收到以下 HTTP 错误消息:

HTTP Error 404.8 - Not Found
The request filtering module is configured to deny a path in the URL that contains a hiddenSegment section.

我也想收到此文件的通用

HTTP 404
。攻击者不应该能够嗅出我正在使用的技术。

需要改变什么?

asp.net-core iis-10
1个回答
0
投票

httpError
模块遇到错误时,可能会发生两种情况:

  • 生成自定义错误
  • 生成详细错误

许多 HTTP 错误都有一个子状态。 IIS 默认自定义错误配置不会区分基于的子状态代码。请按照以下步骤来完成此操作

  1. 打开 IIS 服务器,然后单击
    Error Pages

enter image description here

  1. 选择
    404
    并单击
    Edit Feature Settings

enter image description here

  1. 勾选
    Custom error pages

enter image description here

您可以通过此Microsoft 文档

了解更多信息
© www.soinside.com 2019 - 2024. All rights reserved.