iis 7.5 ipSecurity denyAction = 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上search,但没有find答案。

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

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

不过,我使用8.5,仍然发现它不起作用,500总是返回。

为了denyAction在IIS版本8.0+上工作; 服务器需要允许将该设置委托给各个站点。 在IIS服务器的顶层,select“特征委派”。

确保IP地址和域限制设置为读/写在这里输入图像说明