Внутренняя ошибка сервера с web.конфиг ipSecurity
Это моя паутина.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 и доменов " установлены на сервере. Пожалуйста, дайте мне знать, если я что-то упускаю. Благодарить вы.
7 ответов
вы редактируете конфигурацию вручную или через диспетчер IIS?
см. это сообщение об этом сообщении об ошибке, поскольку у вас может не быть этого делегирования функции включено
для других, которые сталкиваются с этой проблемой. Причина проблемы заключается в том, что делегирование функций не позволяет веб-функции управляться.конфиг.
Исправления:
убедитесь, что функция включена для web.управление конфигурацией
- в IIS 7 Нажмите на корневой сервер
- дважды щелкните делегирование функций (под управлением)
- прокрутите вниз до IPv4-адреса и ограничений домена
- изменить делегацию на Чтение / запись (в моем случае это было только чтение, что и было проблемой)
надеюсь, это поможет кому-то еще.
для Windows 10 и Visual Studio 2015 обратите внимание, что ApplicationHost.файл конфигурации был перемещен в.папка vs\config в иерархии папок вашего проекта. Вам нужно будет отредактируйте конкретную версию проекта ApplicationHost.config файл найден там...
<section name="ipSecurity" overrideModeDefault="Allow" />
Если вы редактируете только ApplicationHost.конфигурация, расположенная в папке Documents\IISExpress, это не повлияет на существующее приложение (mvc5 appl в моем случае).
открыть applicationHost.config файл (находится по адресу папке%WINDIR%\System32 и\inetsrv\конфиг\файл applicationhost.config) и редактирование ipSecurity.
измените эту строку:
<section name="ipSecurity" overrideModeDefault="Deny" />
в:
<section name="ipSecurity" overrideModeDefault="Allow" />
попробуйте эту внешнюю систему.Сервер тег
<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 диалоговое обеспечить IP Security проверил:
мне также пришлось открыть свой applicationhost.конфиг (под %userprofile%\Documents\IISExpress\config) файл и изменить следующее:
<section name="ipSecurity" overrideModeDefault="Deny" />
до
<section name="ipSecurity" overrideModeDefault="Allow" />