Ошибка конфигурации: этот раздел конфигурации не может использоваться по этому пути
Я столкнулся с ошибкой развертывания сайта на сервере. При попытке загрузить домашнюю страницу или получить доступ к аутентификации на новом сайте в IIS, я получаю сообщение об ошибке:
ошибка конфигурации: этот раздел конфигурации не может использоваться на этом пути.
Это происходит, когда раздел заблокирован на родительском уровне. Блокировка есть
либо по умолчанию (overrideModeDefault= "Deny"), либо задается явно
тег местоположения с overrideMode= "Deny" или устаревший
allowOverride= "false".
более подробную информацию можно найти здесь, в сценарий 7 соответствует моему шестнадцатеричному коду ошибки.
решение, приведенное на связанном сайте выше, должно установить разрешить для overrideModeDefault в разделе, упомянутом в моей ошибке, в applicationHost.конфигурации. В моем случае, под безопасность на
30 ответов:
У меня была та же проблема. Не помню, где я нашел его в интернете, но вот что я сделал:
- Нажмите кнопку "Пуск"
- в поле поиска введите "включить или выключить функции windows"
- В окне функции нажмите: "информационные службы Интернета"
- Нажмите: "World Wide Web Services"
- Нажмите: "Возможности Разработки Приложений"
- проверить (включить) функции. Я проверил все, но CGI.
кстати, я использую Windows 7.
вы также можете использовать диспетчер IIS для редактирования этих настроек.
Это изучите статью IIS:
с помощью Делегация Функция из корня IIS:
затем вы можете управлять каждым из разрешений на чтение/запись на уровне машины, которые в противном случае дадут вам overrideMode= "Deny" ошибки.
на Windows Server 2012 и IIS 8, процедура аналогична.
The
Web Server (IIS)иApplication Serverдолжен быть установлен, и вы также должны иметь дополнительноWeb Server (IIS) SupportподApplication Server.
перейти к "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 на уровне сервера, как показано ниже:
- открыть диспетчер IIS
- выберите сервер на панели подключения
- открыть Редактор Конфигурации на главной странице
- в раскрывающемся списке разделы Выберите раздел для разблокировки, например
Мне нужно, чтобы запустить эти две команды из командной строки:
%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication %windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication
On Windows Server 2012 С IIS 8 Я решил эту проблему, включив ASP.NET 4.5 характеристика:
и после Кен.
Это сделало трюк для меня, для IIS 8 Windows server 2012 R2
перейти к "включить функции"
затем перейдите ко всем настройкам по умолчанию, Далее, Далее, Далее и т. д..
Затем выбираем как показано ниже,
затем сбросьте IIS (необязательно), но сделайте это более безопасной стороной.
Это дополнительное решение, поскольку его общая проблема у всех разные проблемы и, следовательно, разные решение. Ура!
Кажется, что с 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 мы обнаружили, что ошибка была произведена при попытке просмотра аутентификации " для сайта, когда:
- делегирование функций сервера помечено как "аутентификация-Windows" = "только для чтения"
- на сайте была паутина.конфигурация, которая явно ссылается на проверку подлинности windows; например,
пометив делегирование функции сайта "аутентификация-Windows" = "чтение/запись", ошибка исчезла. Похоже, что с пометкой "Только для чтения", в интернете.config не может ссылаться на него вообще, даже чтобы отключить его, так как это, по-видимому, составляет запись.
способ включения функций 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
поэтому вам нужно проверить настройки конфигурации приложения в приведенном ниже порядок
- ApplicationHost.config in C:windows\system32\inetsrv\config. Измените атрибут overrideModeDefault на Allow.
- Имя_приложения.config или web.конфигурация в каталоге приложений
- Web.config в корневом каталоге.
- Web.конфигурация на конкретном веб-сайте (моя проблема была найдена в этом месте).
- Web.конфигурация корневой сети (конфигурация сервера)
- машины.конфигурация машины (корень сеть.конфигурация и машина.конфигурации можно найти в папке системный_корневой_каталог\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