iis 7.5 ipSecurity deniedAction=NotFound 导致 500 错误而不是 404

iis 7.5 ipSecurity deniedAction=NotFound 导致 500 错误而不是 404

我正在根据 IP 地址限制对 IIS 7.5 Web 应用程序中某些文件夹的访问。以下是 applicationHost.config 中的一段:

<ipSecurity allowUnlisted="false">
     <add ipAddress="172.16.0.0" subnetMask="255.255.0.0" allowed="true" />
</ipSecurity>

这将返回 403 Forbidden 页面并按预期工作。但是,我希望它返回 404 Not Found。然而,当我尝试以下代码时,我得到的却是 500 错误:

<ipSecurity allowUnlisted="false" denyAction="NotFound">
     <add ipAddress="172.16.0.0" subnetMask="255.255.0.0" allowed="true" />
</ipSecurity>

我在 Google 上搜索过,但没有找到答案。

答案1

denyAction该功能是在 IIS 8.0 中引入的;您使用的是旧版本,因此它将始终返回 HTTP 错误代码 500。

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/ipsecurity/

尽管如此,我正在使用 8.5 并且仍然发现它不起作用并且总是返回 500。

答案2

为了denyAction在 IIS 8.0 以上版本上运行,服务器需要允许将该设置委托给各个站点。在 IIS 服务器的顶层,选择“功能委托”。

确保IP 地址和域限制被设定为读/写在此处输入图片描述

相关内容