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



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




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




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



решение, приведенное на связанном сайте выше, должно установить разрешить для overrideModeDefault в разделе, упомянутом в моей ошибке, в applicationHost.конфигурации. В моем случае, под безопасность на

2157   30  

30 ответов:

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

  • Нажмите кнопку "Пуск"
  • в поле поиска введите "включить или выключить функции windows"
  • В окне функции нажмите: "информационные службы Интернета"
  • Нажмите: "World Wide Web Services"
  • Нажмите: "Возможности Разработки Приложений"
  • проверить (включить) функции. Я проверил все, но CGI.

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

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

Это изучите статью IIS:

с помощью Делегация Функция из корня IIS:

Feature delegation icon in IIS Manager

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

Example use of Feature Delegation

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

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

Windows Server 2012 and IIS 8 Requirements for MVC

перейти к "C:\Windows\System32\inetsrv\config (здесь вам понадобятся права администратора) Откройте applicationHost.конфигурации

Примечание: в IISExpress и Visual Studio 2015 applicationHost.конфигурация хранится в $(solutionDir).vs\config\applicationhost.config

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

изменить на Allow

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

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

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

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

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

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

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

по состоянию на мой ответ на этот же вопрос;

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

  1. открыть диспетчер IIS
  2. выберите сервер на панели подключения
  3. открыть Редактор Конфигурации на главной странице
  4. в раскрывающемся списке разделы Выберите раздел для разблокировки, например

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

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

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

Для Win 10 (наверное будет работать и на других версиях Windows.)

1. открыть "включение и выключение функций windows "by: WinKey+ R = > "optionalfeatures" = > OK

enter image description here

  1. включить эти функции в " Особенности Разработки Приложений"

enter image description here

On Windows Server 2012 С IIS 8 Я решил эту проблему, включив ASP.NET 4.5 характеристика:

enter image description here

и после Кен.

лучший вариант-изменить Application Settings с Custom Site Delegation
Открой IIS и из корня выберите Feature Delegation и выберите Application Settings и на правой боковой панели выберите Read/Write Step #1 Step #2

Это сделало трюк для меня, для IIS 8 Windows server 2012 R2

перейти к "включить функции"

затем перейдите ко всем настройкам по умолчанию, Далее, Далее, Далее и т. д..

Затем выбираем как показано ниже, enter image description here

затем сбросьте IIS (необязательно), но сделайте это более безопасной стороной.

enter image description here

Это дополнительное решение, поскольку его общая проблема у всех разные проблемы и, следовательно, разные решение. Ура!

Кажется, что с IIS Express и VS 2015, есть копия applicationHost.файл config в $(solutionDir).vs\config\applicationhost.конфигурация, поэтому вам нужно будет внести изменения там. Смотрите эту ссылку:http://digitaldrummerj.me/iis-express-windows-authentication/

убедитесь, что эти строки изменены ниже:

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />

чтобы исправить это откройте IIS Express applicationhost.конфиг. Этот файл хранится по адресу C:\Users[ваше имя пользователя]\Documents\IISExpress\config\applicationhost.конфигурации

обновление для VS2015+: конфигурационный файл $(solutionDir).vs\config\applicationhost.конфигурации

ищите следующие строки

<section name="windowsAuthentication" overrideModeDefault="Deny" />
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<add name="WindowsAuthenticationModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />

измените эти строки на

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />

сохранить и обновить Asp.net страница.

в моем случае это было то, что на сервере не была включена "активация HTTP" под функциями .NET Framework. Так что для Windows Server 2012 решение, которое работало для меня было:

диспетчер серверов - > добавить роли и функции -> функции -> убедитесь, что в .NET Framework версии, которую вы хотите использовать, установлен флажок "активация HTTP"

в нашем случае на IIS 8 мы обнаружили, что ошибка была произведена при попытке просмотра аутентификации " для сайта, когда:

  1. делегирование функций сервера помечено как "аутентификация-Windows" = "только для чтения"
  2. на сайте была паутина.конфигурация, которая явно ссылается на проверку подлинности windows; например,

пометив делегирование функции сайта "аутентификация-Windows" = "чтение/запись", ошибка исчезла. Похоже, что с пометкой "Только для чтения", в интернете.config не может ссылаться на него вообще, даже чтобы отключить его, так как это, по-видимому, составляет запись.

site web.config IIS Manager - Server Feature Delegation

способ включения функций Powershell (Windows Server 2012 +) - обрезка по мере необходимости:

Install-WindowsFeature NET-Framework-Core
Install-WindowsFeature Web-Server -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-45-ASPNET -IncludeAllSubFeature
Install-WindowsFeature Application-Server -IncludeAllSubFeature
Install-WindowsFeature MSMQ -IncludeAllSubFeature
Install-WindowsFeature WAS -IncludeAllSubFeature

в моем случае, я получил эту ошибку, потому что я работал на неправильный конфигурационный файл.

Я делаю так:

Configuration config = serverManager.GetWebConfiguration(websiteName);
ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime");
serverRuntimeSection["alternateHostName"] = hostname;

вместо правильного кода:

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName);
serverRuntimeSection["alternateHostName"] = hostname;

другими словами, Я пытался работать на веб-сайте.config, а не глобальный файл C:\Windows\System32\inetsrv\config\applicationHost.конфиг, в котором есть раздел (или раздел) на сайте. Настройка, которую я пытался изменить, существует только в файл applicationhost.конфигурационный файл.

Мне нужно было изменить настройки SSL в подпапке, когда я получил это приятное сообщение. В моем случае следующие действия помогли мне.

Открыт C:\Windows\System32\inetsrv\config\applicationHost.конфигурации

и изменил значение с overrideModeDefault= "Deny"на " Allow"

<sectionGroup name="system.webServer">
 ...
    <sectionGroup name="security">
        <section name="access" overrideModeDefault="Allow" />
    </sectionGroup>

для Windows Server 2008 и IIS 7 процедура аналогична. пожалуйста, обратитесь к этому: http://msdn.microsoft.com/en-us/library/vstudio/bb763178 (v=vs. 100). aspx

в add role service, u будет видеть "возможности разработки приложений"

проверить (включить) функции. Я все проверил.

норвежский google ref:

denne, оформленные konfigurasjonsdelen система KAN brukes иккэ-я банен denne, оформленные. Дет сайту skjer når делен Эр låst ре Эт overordnet ниво. Стандартный Låsing сайту skjer сом (overrideModeDefault="запретить") Эллер ангис eksplisitt АВ Ан stedskode мед overrideMode="запретить" Эллер Ден eldre директива allowoverride="ложь".

включение всех вариантов разработки приложений исправлено это для меня. Мне, наверное, не все нужно, но теперь это работает.

получил эту же проблему после установки IIS 7 на Vista Home Premium. Для исправления ошибки я изменил следующие значения, расположенные в applicationHost.конфигурационный файл, расположенный в Windows\system32\inetsrv.

измените все следующие значения, расположенные в разделе -->

<div mce_keep="true"><section name="handlers" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>
<div mce_keep="true"><section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>

вы можете попробовать это:

перейдите в путь приложения, где вы получаете ошибку deny, щелкните правой кнопкой мыши

свойства->безопасность

в этом, Измените разрешения и установите флажок чтение и запись. Тогда он будет работать без ошибок, надеюсь.

в моем случае, это было нечто иное.

когда я загрузил решение в новую версию Visual Studio, VS, по-видимому, создал новый проект для конкретного applicationhost.конфигурационный файл:

MySolutionDir\.vs\config\applicationhost.конфигурации

он начал использовать настройки из новой конфигурации вместо моего уже настроенного глобального IIS Express настройки. (\Users\%USER%\Documents\IISExpress\config\applicationhost.config)

в моем случае это была настройка, которую нужно было установить. Конечно, это может быть что-то еще для вас:

<section name="ipSecurity" overrideModeDefault="Allow" />

У меня была проблема, когда я вставлял значения override = "Allow" (упомянутые здесь уже)......но на бит x64 system.......my 32 notepad++ был фантомом, спасающим их. Переключение на Блокнот (который является 64-битным приложением на 64-битном O/S) позволило мне сохранить настройки.

посмотреть :

http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/

текст:

один из проблемы, которые я запускаю, требуют, чтобы я просматривал и, возможно, редактировал applicationHost.конфиг. Этот файл находится по адресу %SystemRoot%\System32\inetsrv\config. Кажется, все достаточно просто. Я смог найти его из командной строки легко, но когда я пошел, чтобы загрузить его в моем любимом редакторе (Notepad++) я получил файл не найден ошибка. Оказывается, что папка System32 перенаправляется для 32-разрядных приложений в SysWOW64. Похоже, что нет способа просмотреть папку System32 с помощью 32-разрядного приложения. Идти фигура. К счастью, 64-разрядные версии Windows поставляются с 64-разрядной версией Блокнота. Как бы мне это не нравилось, по крайней мере, это работает.

ошибка говорит, что раздел конфигурации заблокирован на родительском уровне. Так что это не будет непосредственно 1 конфигурационный файл, который решит проблему, нам нужно пройти через иерархию конфигурационных файлов, чтобы увидеть наследование Проверьте ссылку ниже, чтобы пройти через иерархию файлов и наследование в IIS

https://msdn.microsoft.com/en-us/library/ms178685.aspx

поэтому вам нужно проверить настройки конфигурации приложения в приведенном ниже порядок

  1. ApplicationHost.config in C:windows\system32\inetsrv\config. Измените атрибут overrideModeDefault на Allow.
  2. Имя_приложения.config или web.конфигурация в каталоге приложений
  3. Web.config в корневом каталоге.
  4. Web.конфигурация на конкретном веб-сайте (моя проблема была найдена в этом месте).
  5. Web.конфигурация корневой сети (конфигурация сервера)
  6. машины.конфигурация машины (корень сеть.конфигурация и машина.конфигурации можно найти в папке системный_корневой_каталог\MicrosoftNET\Framework\номер_версии\config\машина.config)

внимательно просмотрите все эти конфигурации в порядке от 1 до 6, и вы должны найти его.

У меня была та же проблема.

  • разрешил его, включив функцию сервера приложений. Перезапустить службы IIS после этого.

Это сработало для меня Также в IIS 8 вы можете решить эту проблему, изменив сервер на IIS Express. Перейти отладка- > свойства В Интернете выберите сервер, как IIS Express из выпадающего списка, а затем перестроить решение

чтобы внести изменения на уровне приложения (Web.Конфигурации):

пожалуйста, удалите уровень доверия из интернета.конфиг:

на самом деле я получал эту ошибку, когда я пытался разместить свой сайт на хост-сервере, где у меня нет контроля на их сервере. Удаление вышеуказанной строки из моего веб-приложения.конфиг решил мою проблему.

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

Удалено:

    <security>
        <authentication>
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>

для меня сработало следующее:

перейти к свойствам проекта. Веб-вкладка. Установить на локальный веб-сервер IIS и установить конкретную страницу.

У меня есть Windows 7 и Visual Studio 2013.

Comments

    Ничего не найдено.