Ответ 1
Вы редактируете конфигурацию вручную или через диспетчер IIS?
См. этот пост об этом сообщении об ошибке, поскольку вы не можете включить функцию делегирования
Это мой web.config, у которого есть некоторые теги для блокировки Ipaddress
<configuration>
<connectionStrings>
...
</connectionStrings>
<appSettings>
....
</appSettings>
<runtime>
....
</runtime>
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="127.0.0.1" allowed="true"/>
<add ipAddress="83.116.19.53" allowed="true"/>
</ipSecurity>
</security>
</system.webServer>
</configuration>
Я намерен заблокировать любой другой IP-адрес, кроме указанного выше. Вышеупомянутый - единственный адрес Ip, с которого я хочу, чтобы сайт был доступен. Но с тегом "ipSecurity" я всегда получаю 500 - Внутренняя ошибка сервера, и сайт работает без него.
Я убедился, что на сервере установлены "IP и ограничения доменов". Пожалуйста, дайте мне знать, если я ничего не пропущу. Спасибо.
Вы редактируете конфигурацию вручную или через диспетчер IIS?
См. этот пост об этом сообщении об ошибке, поскольку вы не можете включить функцию делегирования
Для других, которые сталкиваются с этой проблемой. Причиной проблемы является то, что делегирование функций не позволяет управлять этой функцией с помощью web.config.
To Fix:
Убедитесь, что функция включена для управления web.config
Надеюсь, это поможет кому-то еще.
В Windows 10 и Visual Studio 2015 обратите внимание, что файл ApplicationHost.config был перемещен в папку .vs\config в иерархии папок проекта. Вам нужно будет отредактировать конкретную версию файла ApplicationHost.config, найденную там, где...
<section name="ipSecurity" overrideModeDefault="Allow" />
Если вы только отредактируете ApplicationHost.config, находящийся в папке Documents\IISExpress, это не повлияет на существующее приложение (приложение MVC5 в моем случае).
Откройте файл applicationHost.config(расположенный в% windir%\system32\inetsrv\config\applicationHost.config) и отредактируйте раздел ipSecurity.
Измените эту строку:
<section name="ipSecurity" overrideModeDefault="Deny" />
To:
<section name="ipSecurity" overrideModeDefault="Allow" />
Попробуйте использовать этот внешний тег System.Webserver
<location path="Default WebSite">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="127.0.0.1" allowed="true"/>
<add ipAddress="83.116.19.53" allowed="true"/>
</ipSecurity>
</security>
</system.webServer>
</location>
Не забывайте о персонализированном делете сайта. Это позволяет вам разрешать делегирование только тем сайтам, которые вы намереваетесь.
Надеюсь, это поможет кому-то...
Я запускаю IIS express на Windows 7 локально и сделал следующее - Панель управления > Программы > Программы и функции > Включение и выключение функций Windows
В диалоговом окне Windows Features убедитесь, что отмечена опция Безопасность IP:
Мне также пришлось открыть файл applicationhost.config(в файле % userprofile%\Documents\IISExpress\config) и изменить следующее:
<section name="ipSecurity" overrideModeDefault="Deny" />
Для
<section name="ipSecurity" overrideModeDefault="Allow" />