Я столкнулся с ошибкой при развертывании сайта на сервере. При попытке загрузить домашнюю страницу или получить доступ к аутентификации на новом сайте в IIS, я получаю сообщение об ошибке:
Ошибка конфигурации: этот раздел конфигурации нельзя использовать по этому пути. Это происходит, когда раздел заблокирован на родительском уровне. Блокировка либо по умолчанию (overrideModeDefault = "Deny"), либо устанавливается явно с помощью тега местоположения с помощью overrideMode = "Deny" или устаревшего allowOverride = "false".
Более подробную информацию можно найти здесь, в сценарии 7 соответствует мой шестнадцатеричный код ошибки.
Решение, приведенное на связанном сайте выше, состоит в том, чтобы установить Allow for overrideModeDefault в разделе, упомянутом в моей ошибке, в файле applicationHost.config . В моем случае в разделе Безопасность в system.webServer . Но если я посмотрю на applicationHost.config на моем локальном компьютере, где сайт уже правильно развернут, для этого раздела будет установлено значение « Запретить» .
Если это решение правильно, как мой локальный экземпляр работает нормально с тем же web.config ? Согласно моему applicationHost.config , этот раздел должен быть заблокирован, но это не так. Я бы предпочел не изменять файл applicationHost.config , потому что на этом сервере запущено много других сайтов. Есть ли другое решение?
Ответы:
У меня такая же проблема. Не помню, где я нашел это в Интернете, но вот что я сделал:
Кстати, я использую Windows 7.
источник
Вы также можете использовать диспетчер IIS для редактирования этих настроек.
Уход за этой статьей Learn IIS :
Использование функции делегирования из корня IIS:
Затем вы можете управлять каждым из прав на чтение / запись на уровне компьютера, что в противном случае даст вам ошибки overrideMode = "Deny" .
источник
Для Windows Server 2012 и IIS 8 процедура аналогична.
Web Server (IIS)
ИApplication Server
должен быть установлен, и вы также должны иметь дополнительныйWeb Server (IIS) Support
UnderApplication Server
.источник
Перейдите в «C: \ Windows \ System32 \ inetsrv \ config» (здесь вам потребуются права администратора). Откройте applicationHost.config.
Примечание . В IISExpress и Visual Studio 2015 applicationHost.config хранится в
$(solutionDir).vs\config\applicationhost.config
Найдите раздел, который появился в части «config source» на странице сообщения об ошибке. Для меня это обычно были «модули» или «обработчики»
Изменить
overrideModeDefault
атрибут наAllow
Итак, теперь вся строка выглядит так:
После сохранения файла, страница нормально загрузилась в моем браузере.
Предупреждение: редактирование applicationHost.config в 64-битной Windows
источник
Вам нужно разблокировать обработчики. Это можно сделать с помощью следующей команды cmd:
Может быть, другая информация для людей, которые получают эту ошибку на IIS 8, в моем случае была на платформе Microsoft Server 2012. Я потратил пару часов на борьбу с другими ошибками, которые появлялись после выполнения appcmd. В конце концов я смог это исправить, удалив роль веб-сервера и установив ее снова.
источник
/section:access /sslFlags:SslNegotiateCert
и обнаружил, что я должен был использовать вышеупомянутое, с-section:access
которым сообщили какUnlocked section "system.webServer/security/access"...
1. Откройте « Включить или отключить функции Windows » с помощью: WinKey + R => «факультативные функции» => ОК
Проверено на Win 10 - Но, вероятно, будет работать и на других версиях Windows.
источник
Я запустил эти две команды из командной строки с повышенными правами:
источник
Согласно моему ответу на этот подобный вопрос ;
Попробуйте разблокировать соответствующие параметры конфигурации IIS на уровне сервера следующим образом:
источник
В Windows Server 2012 с IIS 8 я решил эту проблему, включив функцию ASP.NET 4.5 :
и затем следуя ответу Кена .
источник
Наилучшим вариантом является изменение
Application Settings
изCustom Site Delegation
открытого
IIS
и корневого выберите,Feature Delegation
а затем выберитеApplication Settings
и на правой боковой панели выберитеRead/Write
источник
Это помогло мне, для IIS 8 Windows Server 2012 R2
Перейти к «Включить функции»
Затем перейдите ко всем настройкам по умолчанию, Далее, Далее, Далее и т. Д.
Затем выберите, как показано ниже,
Затем сбросьте IIS (необязательно), но сделайте это более безопасной стороной.
Это дополнительное решение, так как это общая проблема, у всех разные проблемы и, следовательно, разные решения. Ура!
источник
Чтобы это исправить, откройте приложение IIS Express applicationhost.config. Этот файл хранится в C: \ Users [ваше имя пользователя] \ Documents \ IISExpress \ config \ applicationhost.config
Обновление для VS2015 +: расположение файла конфигурации: $ (solutionDir) .vs \ config \ applicationhost.config
Ищите следующие строки
Измените эти строки на
Сохраните его и обновите страницу Asp.net.
источник
В нашем случае на IIS 8 мы обнаружили ошибку, возникшую при попытке просмотра «Аутентификация» для сайта, когда:
Пометка на сайте Feature Delegation «Аутентификация - Windows» = «Чтение / запись», ошибка ушла. Похоже, что с функцией, помеченной как «Только чтение», web.config вообще не имеет права ссылаться на него, даже чтобы отключить его, так как это, очевидно, составляет запись.
источник
Похоже, что в IIS Express и VS 2015 есть копия файла applicationHost.config по адресу $ (solutionDir) .vs \ config \ applicationhost.config, поэтому вам нужно будет внести в него изменения. Смотрите эту ссылку: http://digitaldrummerj.me/iis-express-windows-authentication/
Убедитесь, что эти строки изменены согласно ниже:
источник
В моем случае это было то, что на сервере не была включена «Активация HTTP» под .NET Framework Features. Итак, для Windows Server 2012 решение, которое работало для меня, было:
Диспетчер серверов -> Добавить роли и функции -> Функции -> убедитесь, что в .NET Framework версии, которую вы хотите использовать, установлен флажок «Активация HTTP»
источник
Способ включения функций Powershell (Windows Server 2012 +) - при необходимости:
источник
Мне нужно было изменить настройки SSL в подпапке, когда я получил это приятное сообщение. В моем случае мне помогли следующие действия.
Открыт C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config
И изменил значение с overrideModeDefault = "Запретить" на "Разрешить"
источник
Ошибка говорит о том, что раздел конфигурации заблокирован на родительском уровне. Таким образом, это не будет непосредственно 1 файл конфигурации, который решит проблему, нам нужно пройти через иерархию файлов конфигурации, чтобы увидеть наследование Проверьте ссылку ниже, чтобы пройти иерархию файлов и наследование в IIS
https://msdn.microsoft.com/en-us/library/ms178685.aspx
Так что вам нужно проверить настройки приложения в следующем порядке
Внимательно просмотрите все эти конфиги в порядке от 1 до 6, и вы должны их найти.
источник
В моем случае я получил эту ошибку, потому что я работал с неправильным файлом конфигурации.
Я делал это:
вместо правильного кода:
другими словами, я пытался работать с web.config веб-сайта вместо глобального файла C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config, в котором есть раздел (или может быть раздел) для веб-сайта. Параметр, который я пытался изменить, существует только в файле applicationHost.config.
источник
В моем случае это было что-то еще.
Когда я загрузил решение в новой версии Visual Studio, VS, очевидно, создал новый файл applicationhost.config для конкретного проекта:
MySolutionDir \ .vs \ Config \ ApplicationHost.config
Он начал использовать настройки из нового конфига вместо моих уже настроенных глобальных настроек IIS Express. (\ Users \% USER% \ Documents \ IISExpress \ Config \ applicationHost.config)
В моем случае это была настройка, которую нужно было установить. Конечно, это может быть что-то для вас:
источник
Я заметил один похожий ответ, но в моем случае я использовал Сконфигурированный редактор IIS, чтобы найти раздел, который я хотел «разблокировать».
Затем я скопировал путь и использовал его в своей автоматизации, чтобы разблокировать его перед изменением разделов, которые я хотел редактировать.
источник
Эта же проблема возникла после установки IIS 7 в Vista Home Premium. Чтобы исправить ошибку, я изменил следующие значения, расположенные в файле applicationHost.config, расположенном в Windows \ system32 \ inetsrv.
Измените все следующие значения, расположенные в разделе ->
источник
Можете ли вы попробовать это:
Перейдите по пути приложения, где вы получаете сообщение об ошибке, щелкните правой кнопкой мыши
Свойства-> вкладка Безопасность
В этом, измените разрешения и установите флажок для чтения и записи. Тогда он будет работать без каких-либо ошибок.
источник
Для Windows Server 2008 и IIS 7 процедура аналогична. пожалуйста, обратитесь к этому: http://msdn.microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx
в службе добавления ролей вы увидите «Функции разработки приложений»
Проверьте (включите) функции. Я проверил все.
источник
У меня была проблема, когда я вставлял значения переопределения = "Разрешить" (уже упоминалось здесь) ...... но в 64-битной системе ....... мой 32-й блокнот ++ их фантомно сохранял. Переключение на Блокнот (это 64-битное приложение на 64-битной операционной системе) позволило мне сохранить настройки.
Видеть :
http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/
Соответствующий текст:
Одна из проблем, с которыми я столкнулся, требовала, чтобы я просмотрел и, возможно, изменил applicationHost.config Этот файл находится по адресу% SystemRoot% \ System32 \ inetsrv \ config. Кажется, достаточно просто. Мне было легко найти его из командной строки, но когда я пошел, чтобы загрузить его в моем любимом редакторе (Notepad ++), я получил ошибку «файл не найден». Оказывается, папка System32 для 32-битных приложений перенаправляется на SysWOW64. Похоже, что нет возможности просмотреть папку System32 с помощью 32-разрядного приложения. Пойди разберись. К счастью, 64-разрядные версии Windows поставляются с 64-разрядной версией Блокнота. Как бы мне это не нравилось, по крайней мере, это работает.
источник
В моем случае я получал эту ошибку при попытке обновить параметры проверки подлинности в IIS, в дополнение к просмотру. Мне удалось устранить эту ошибку, удалив параметр аутентификации из самого файла web.config. Удаление проблемного раздела конфигурации может быть менее инвазивным и предпочтительным в некоторых случаях, чем чрезмерное изменение ролей и функций сервера:
Раздел удален:
источник
Я была такая же проблема.
источник
Это сработало для меня. Также в IIS 8 вы можете решить эту проблему, изменив сервер на IIS Express. Перейти к отладке-> Свойства. В Интернете выберите сервер как IIS Express из выпадающего списка, а затем пересоберите решение.
источник
Чтобы внести изменения на уровне приложения (Web.Config):
Удалите уровень доверия из web.config:
На самом деле я получал эту ошибку, когда пытался разместить свой веб-сайт на хостинг-сервере, где у меня нет контроля над их сервером. Удаление вышеуказанной строки из моего приложения web.config решило мою проблему.
источник
Следующее работало для меня:
Перейти к свойствам проекта. Веб-вкладка. Установите Локальный IIS и установите конкретную страницу.
У меня Windows 7 и Visual Studio 2013.
источник