Ошибка конфигурации IIS - этот раздел конфигурации не может использоваться по этому пути
Я получаю приведенную ниже ошибку при попытке запустить свой веб-сайт.
Сайт размещен на Windows 2012 R2.
Ошибка конфигурации: этот раздел конфигурации нельзя использовать по этому пути. Это происходит, когда раздел заблокирован на родительском уровне. Блокировка либо по умолчанию (overrideModeDefault="Deny"), либо устанавливается явно с помощью тега местоположения с помощью overrideMode="Deny" или устаревшего allowOverride="false".
Код ошибки: 0x80070021
Конфиг Источник:
60: <httpErrors errorMode="Detailed" />
61: <handlers>
62: <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
Вот что я пробовал:
- Установил.Net 3.5 с помощью "Добавить функции и роли" в IIS
В файле applicationHost я внес следующие изменения кода:
Изменены обработчики разделов, модули, анонимная проверка подлинности, базовая проверка подлинности и т. Д. OverrideModeDefault с "Запретить" на "Разрешить".
Сделали "Активацию HTTP" в.Net 3.5, а также в 4.5.
Ниже приведен мой код обработчика файла веб-конфигурации:
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
Установлены все функции в окнах функций по этому пути: Информационная служба Интернета -> Службы всемирной паутины -> Функции разработки приложений -> Все, кроме CGI, включены.
В функции делегирования ASP ранее был только для чтения, я изменил его на чтение / запись
Разблокированные обработчики с помощью командной строки
Но я все еще не могу избавиться от ошибки. Мой местный экземпляр работает отлично. Кроме того, у меня есть сервер разработки, на котором работает этот веб-сайт, только на моем рабочем сервере я получаю эту ошибку.
Пожалуйста, помогите мне выяснить, что может быть причиной этой проблемы.
7 ответов
Выполните следующие шаги, чтобы разблокировать обработчики на родительском уровне:
1) В дереве соединений (в IIS) перейдите на узел вашего сервера, а затем на свой веб-сайт.
2) Для веб-сайта в правом окне вы увидите редактор конфигурации в разделе "Управление".
3) Дважды щелкните по редактору конфигурации.
4) В открывшемся окне сверху вы найдете раскрывающийся список разделов. Выберите "system.webServer/handlers" из выпадающего списка.
5) На правой стороне есть еще один выпадающий список. Выберите "ApplicationHost.Config"
6) На самой правой панели вы найдете "Разблокировать раздел" под заголовком "Раздел". Нажмите на это.
7) После того, как обработчики в applicationHost разблокированы, ваш сайт должен работать нормально.
Вот что у меня сработало, была похожая проблема на моем новом ноутбуке с windows 10.
- Поиск "Включение или отключение функций Windows"
- Проверить "Информационные интернет-услуги"
- Проверьте "World Wide Web Services"
- Проверьте "Особенности разработки приложений"
- Включить все элементы под этим
попробуйте еще раз, теперь это должно работать.
Большинство разделов IIS по умолчанию заблокированы, но вы можете "разблокировать" их, установив атрибут overrideModeDefault
от "Запретить" до "Разрешить" для соответствующей группы разделов, изменив файл ApplicationHost.config, расположенный в %windir%\system32\inetsrv\config
в режиме администратора
Я наткнулся на эту ветку и решил проблему по шагам ниже. Моя проблема может быть другой. Надеюсь, что это может помочь кому-то.
В функции " Включение и выключение окон" перейдите к ролям сервера и выберите наименее упомянутые ниже элементы.
Ура!
У меня был applicationhost.config в папке моего проекта. Кажется, IISExpress использует эту папку, хотя в моей папке c:\users отображается другой файл
.vs\ Config\ ApplicationHost.config
Когда я попробовал эти шаги, я продолжал получать ошибку:
- Поиск "Включение или отключение функций Windows"
- Проверить "Информационные интернет-услуги"
- Проверьте "World Wide Web Services"
- Проверьте "Особенности разработки приложений"
- Включить все элементы под этим
Затем я посмотрел на просмотрщик событий и увидел эту ошибку:Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed. The first DWORD in the Data section contains the Win32 error code.
Чтобы решить эту проблему, я вручную создал следующую запись в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance
и следовал этим шагам:
- Поиск "Включение или отключение функций Windows"
- Проверить "Информационные интернет-услуги"
- Проверьте "World Wide Web Services"
- Проверьте "Особенности разработки приложений"
- Включить все элементы под этим
Я думаю, что лучший способ заключается в том, что вы должны удалить свою конфигурацию из вашего web.config. Опубликуйте свой код на сервере и сделайте то, что вы хотите удалить непосредственно из интерфейса сервера IIS.
Благодаря этому методу, если вы успешно делаете то, что хотите, вам просто нужно получить файл web.config и сравнить различия. После этого вам просто нужно опубликовать решение в этом сообщении:-P.
Вот что у меня сработало:
- В IIS Щелкните корневую заметку "LAPTOP ____**".
- Из варианта, отображаемого в среднем лотке, нажмите "Редактор конфигурации" внизу.
- В верхнем раскрывающемся списке выберите "system.webServer/handlers".
- В правом окне в разделе разблокировки раздела.
Нажмите на свойства вашего проекта, перейдите в раздел веб-сайтов, из раздела Серверы, перейдите с IIS Express на локальный IIS, он создаст для вас виртуальный каталог