我限制基于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中引入了denyAction
function; 您使用的是旧版本,因此它将始终返回HTTP错误代码500。
https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/ipsecurity/
不过,我使用8.5,仍然发现它不起作用,500总是返回。
为了denyAction
在IIS版本8.0+上工作; 服务器需要允许将该设置委托给各个站点。 在IIS服务器的顶层,select“特征委派”。
确保IP地址和域限制设置为读/写 。