Назад | Перейти на главную страницу

iis 7.5 ipSecurity denyAction = NotFound вызывает ошибку 500 вместо 404

Я ограничиваю доступ к определенным папкам в веб-приложении IIS 7.5 на основе IP-адреса. Вот фрагмент из applicationHost.config:

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

Это возвращает 403 запрещенную страницу и работает должным образом. Но я хочу, чтобы вместо этого он возвращал 404 Not Found. Однако когда я пытаюсь выполнить следующий код, я получаю ошибку 500:

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

Я искал в Google, но не нашел ответа.

Для denyAction для работы на IIS версии 8.0+; серверу необходимо разрешить делегирование этой настройки отдельным сайтам. На верхнем уровне сервера IIS выберите «Делегирование функций».

Убедитесь, что Ограничения по IP-адресу и домену установлен на Читай пиши.

denyAction функция была представлена ​​в IIS 8.0; вы используете старую версию, поэтому она всегда будет возвращать код ошибки HTTP 500.

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

Тем не менее, я использую 8.5 и все еще обнаруживаю, что он не работает, и всегда возвращается 500.