Вопрос: Ошибка конфигурации: этот раздел конфигурации не может использоваться на этом пути


Я столкнулся с ошибкой при развертывании сайта на сервере. При попытке загрузить домашнюю страницу или получить доступ к аутентификации на новом сайте в IIS, я получаю сообщение об ошибке:

Ошибка конфигурации: этот раздел конфигурации не может использоваться на этом пути.   Это происходит, когда секция заблокирована на родительском уровне. Блокировка   либо по умолчанию (overrideModeDefault = "Deny"), либо явно указывается   тег местоположения с overrideMode = "Deny" или наследие   AllowOverride = "ложь".

Более подробную информацию можно найти здесь, в Сценарий 7 соответствует моему шестнадцатеричному коду ошибки.

Решение, указанное на связанном сайте выше, состоит в том, чтобы установить Позволять для overrideModeDefault в разделе, указанном в моей ошибке, в applicationHost.config файл. В моем случае, согласно Безопасность в system.webServer , Но если я посмотрю на applicationHost.config на моем локальном компьютере, где сайт уже правильно развернут, этот раздел установлен на Отрицать ,

Если это решение правильно, как мой локальный экземпляр работает отлично с тем же web.config ? Согласно моему applicationHost.config , этот раздел должен быть заблокирован, но это не так. Я бы предпочел не менять applicationHost.config файл, потому что на этом сервере работает много других сайтов. Есть ли другое решение?


1417


источник


Ответы:


У меня такая же проблема. Не помню, где я нашел его в Интернете, но вот что я сделал:

  • Нажмите кнопку «Пуск»
  • в поле поиска введите «Включить или отключить функции Windows»,
  • в окне функций нажмите «Интернет-службы»,
  • Нажмите «Услуги всемирной паутины»
  • Нажмите «Функции разработки приложений».
  • Проверьте (включить) функции. Я проверил все, кроме CGI.

Кстати, я использую Windows 7.


2697



Вы также можете использовать Менеджер IIS для редактирования этих настроек.

Уход за этим Изучите статью IIS :

Используя Делегирование функций из корня IIS:

Feature delegation icon in IIS Manager

Затем вы можете управлять каждым из разрешений на чтение / запись на уровне машины, что в противном случае даст вам overrideMode = "Запретить" ошибки.

Example use of Feature Delegation


296



Для Windows Server 2012 а также IIS 8 , процедура аналогична.

Web Server (IIS)а также Application Serverдолжен быть установлен, и вы также должны иметь Web Server (IIS) Supportпод Application Server,

Windows Server 2012 and IIS 8 Requirements for MVC


164



Перейдите к «C: \ Windows \ System32 \ inetsrv \ config» (здесь вам понадобятся права администратора) Открыть приложениеHost.config

Заметка : В IISExpress и Visual Studio 2015 файл applicationHost.config хранится в $(solutionDir).vs\config\applicationhost.config

Найдите раздел, который появился в части «источник конфигурации» на странице сообщений об ошибках. Для меня это обычно были «модули» или «обработчики»,

Изменить overrideModeDefaultатрибут Allow

Итак, вся строка теперь выглядит так:

<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

После сохранения файла, страница загрузилась в мой браузер.

Предупреждение: Редактирование applicationHost.config на 64-битной Windows


108



Вам нужно разблокировать обработчики. Это можно сделать, используя следующую команду cmd:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers

Возможно, другая информация для людей, которые получают эту ошибку в IIS 8, в моем случае была на платформе Microsoft Server 2012. Я провел пару часов, сражаясь с другими ошибками, которые пузырились после выполнения appcmd. В конце концов, я смог исправить это, удалив роль веб-сервера и снова установив его.


58



Согласно мой ответ на эту аналогичную проблему ;

Попробуйте разблокировать соответствующие параметры конфигурации IIS на уровне сервера, а именно:

  1. открыто Менеджер IIS
  2. Выберите сервер в панели «Соединения»
  3. открыто Редактор конфигурации в главном окне
  4. В раскрывающихся разделах выберите раздел для разблокировки, например. system.webServer> defaultPath
  5. Нажмите Разблокировать атрибут в правой панели
  6. Повторите для любых других настроек, которые необходимо разблокировать
  7. Перезапустите IIS (необязательно). Выберите сервер на панели «Подключения», нажмите «Перезагрузка» в панели «Действия».

26



Мне нужно было запустить эти две команды из командной строки:

%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication

%windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication

24



On Windows Server 2012 with IIS 8 I have solved this by enabling ASP.NET 4.5 feature:

enter image description here

and then following ken's answer.


23