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

Я хочу загрузить свой собственный asp.net сайт на IIS через IIS manager. Но когда я это делаю, я получаю следующую ошибку

HTTP Error 500.19 - Внутренняя ошибка сервера запрошенная страница не может быть доступ, поскольку связанные данные конфигурации для страницы неверный

Module  IIS Web Core
Notification    Unknown
Handler Not yet determined
Error Code  0x80070005
Config Error    Cannot read configuration file due to insufficient permissions
Config File ?C:UsersYassoDocumentsVisual Studio 2008WebSitesWebSite5web.config

Я много раз искал решение для этой ошибки, но ни одно из решений не решило ошибку.

у меня проблема с учетной записью IUSR. Я не вижу эта учетная запись в разделе "группы или имена пользователей" в свойствах web.config.

в чем проблема?

30 ответов


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

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

права доступа должны быть довольно просты, т. е. не менее читать, и, в зависимости от вашего приложения, может быть написать.

выше, вы упоминаете запись iusr etc. не находясь в свойствах для web.config. Если под этим вы подразумеваете, что запись iusr Не указан на вкладке безопасности файла, тогда это хорошо. Никто не хочет давать запись iusr любой разрешения на web.config. Роль запись iusr - это анонимный интернет-пользователь.

файл web.config должны только быть доступны через приложение.

проблема в том, что вы не сказали, какую версию ОС и IIS вы используете, поэтому трудно посоветовать, какие шаги предпринять.

т. е. в IIS 7.5 сообщение об ошибке, которое вы цитируете, вероятно, произойдет из-за ApplicationPoolIdentity Не имея разрешения. Веб-приложение принадлежит пулу приложений, поэтому необходимо предоставить разрешения учетной записи ОС, под которой работает пул приложений веб-приложения. Часто Это что-то вроде NetworkService но вы можете настроить его для запуска под учетной записью цели. Без дополнительной информации вам трудно помочь.


Это также может произойти, если сайт настроен на использование IIS URL переписать модуль но он не установлен.


наконец-то Я получаю решение для своей проблемы. В asp.net учетная запись не отображается в диспетчере IIS, потому что я не установил флажок в IIS, чтобы сделать это в windows 7 выполните следующие действия

  1. панель управления
  2. нажмите на ссылку" программа " (не удалять программы)
  3. нажмите" Включить/выключить функции windows " ссылка
  4. найдите "Internet Information services IIS" во всплывающем окне и разверните его узел
  5. развернуть узел" World Wide Web Service"
  6. разверните узел "возможности разработки приложений"
  7. установите флажок"ASP.NET"
  8. затем нажмите кнопку ok

теперь вы увидите Asp.net счет в IIS Manager и по умолчанию см. В разделе IIS учетной записи, Теперь вы должны двигаться вы asp.net сайт из "моих документов" в другое место, IIS имеют разрешение на доступ к нему (в любой раздел на компьютере) теперь просмотрите ваш сайт из IIS Manager и его должен работать. большое спасибо Джеффу Тернеру за решение


в моем случае установка модуля перезаписи URL IIS решила проблему.


У меня была такая же проблема, вот решение, что работал для меня.

  1. диспетчер IIS
  2. щелкните правой кнопкой мыши на этом веб-сайте
  3. Изменить Разрешения
  4. добавлен пользователь 'IIS_IUSRS' из вкладки безопасность
  5. дал полные разрешения пользователю 'IIS_IUSRS'
  6. установите идентификатор пула приложений в "ApplicationPoolIdentity"

на разработчики Visual Studio (VS): Как намекнул Харви Дарви, Сэвидж и Снивз, ваш Конфигурация Узла Приложения может указывать на неправильный физический путь приложения. Поиск virtualDirectory внутри /.vs / config / applicationhost.config изменить physicalPath если это неверно.

enter image description here

убедитесь, что physicalPath is правильно:

enter image description here


предупреждение Facepalm:

вы также получите эту ошибку, если путь к файлу config-это неправильно. Дважды проверьте, чтобы убедиться, что физический путь введен правильно в IIS.


вам нужно назначить разрешения для IIS_IUSRS на локальном компьютере (но вам не нужно назначать для IUSR, на самом деле это будет работать, даже если вы явно отрицаете разрешения).

чтобы назначить разрешения, просто щелкните правой кнопкой мыши на папке и на вкладке Безопасность убедитесь, что предоставить правильные разрешения, и если пользователь не указан, нажмите кнопку "Добавить", и введите IIS_IUSRS (и убедитесь, что в разделе "домен" выбран локальный компьютер, или введите в поле Имя YourLocalComputerName\IIS_IUSRS), и тогда вам хорошо идти.

Если вы хотите, вы можете вместо назначения разрешений группе IIS_IUSRS, вы можете вместо этого назначить пулу приложений, который должен быть " IIS APPPOOL\ имя пула приложений".


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

Это даст вам ошибку (что есть некоторые проблемы с файлом веб-конфигурации), потому что вы использовали правила перезаписи URL и соответствующий компонент не установлен.

установите "Microsoft URL Rewrite Module 2.0 для IIS 7", и это должно исправить вашу проблему


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

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"

Кредит: Пользователь Vicxx


еще одна возможность, которая исправила эту проблему для меня:

IIS - > редактировать разрешения - > вкладка "Безопасность" - > дать" пользователям " соответствующие разрешения (или IIS_IUSRS, в зависимости от вашей установки)


Я делаю эти шаги для решения этой проблемы в Windows Server 2012, IIS 8.5. Должно работать и для других версий.

  1. перейдите в диспетчер серверов, нажмите Добавить роли и функции
  2. В разделе роли выбрать: Web Server
  3. В разделе "Безопасность" выберите все (я исключил дайджест, ограничения IP и авторизацию URL, поскольку мы их не используем)
  4. В разделе Разработка приложений выберите .NET Extensibility 4.5, ASP.NET 4.5 и как ISAPI записи
  5. В разделе функции выберите: NET 3.5, .NET 4.5, ASP.NET 4.5
  6. В разделе веб-сервер выбрать: Web Server (все)Management Tools (консоль управления IIS и служба управления), Windows

Это также произошло со мной, когда у меня был документ по умолчанию с тем же именем (например, index.aspx), указанный в обоих моих веб-сайтах.сайт config и моем служб IIS. В итоге я удалил запись с веб-сайта IIS и сохранил веб-сайт.запись конфигурации, как показано ниже:

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...

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

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


Эм. Я переместил свой сайт / файлы в другую папку. Без изменения пути на веб-сайте IIS.

теперь вы все можете смеяться.


убедитесь,что пул приложений настроен на правильную версию фреймворка. Вам также необходимо убедиться, что пользователи aspnet, IIS_IUSRS или IUSR имеют доступ для чтения к каталогу приложения.


в моем случае это вызвано физическим путем приложения к несуществующей папке в IIS.

application setting screenshot


У меня была проблема, когда я скопировал свой веб.конфигурационный файл вниз от prod, изменил все, что не связано с prod, кроме правил перезаписи, которые переписывались на httpS.

удалил эти правила и побежал нормально.


довольно прямо вперед, IIS не имеет доступа к вашей сети.конфиг. Я бы начал с того, что вытащил сайт из папки "документы". Убедитесь, что у него есть разрешения r/w.


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

проект был ранее построен и развернут в .Net 2.0. После миграции в .Net 3.5 он начал выбрасывать исключение.

резолюции:

Если файл конфигурации содержит "sectionGroup name= " system.сеть.расширения>", прокомментируйте его и запустите, поскольку этот раздел уже доступен под машиной.конфиг.


вам нужно установить разрешение для папки вашего сайта или скопировать их в папку wwwroot :) - Если установлено разрешение, есть 2 способа: + Щелкните правой кнопкой мыши на папке сайта + Или щелкните правой кнопкой мыши на своем веб-сайте в IIS => выберите Изменить разрешение и добавьте разрешение (IUSR-пользователь iis по умолчанию) Удачи ;-)


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

для меня это был бродячий амперсанд в URL что я использовал в AppSettings.


есть эта проблема с подключенными дисками, IIS не работает с подключенными дисками. Просто используйте несопоставленный диск.


исследуйте папку, в которой хранится ваш сайт, и увидите, что вы получите одну дополнительную папку "aspnet_client", удалите эту папку, и она будет работать для вас.

Я попробовал это, моя проблема решена.

Если это работает для Вас, пожалуйста, сделайте это как ответ, чтобы какое-то тело также получило решение.


на странице ошибки IIS 7.5 вы получаете нажмите "просмотреть дополнительную информацию" в нижней части страницы, и в этом случае она приведет вас к следующей ссылке Microsoft:

http://support.microsoft.com/kb/942055

Код ошибки 0x80070005, похоже, связан с разрешениями и, следуя шагам в разрешении 2, Метод 2, назначающий правильные учетные записи с разрешениями на соответствующие папки, должен исправить это - я потратил 3 дня на поиск решения, пока я наткнулся на него, сразу после этого работал.


добавьте локальную учетную запись IIS_IUSRS в безопасность и предоставьте им доступ для чтения/выполнения. это работает в моем случае.


в моем случае он работает просто комментируя (или удаляя) свойство anonymousAuthentication:

 <security>
     <authentication>
         <!--<anonymousAuthentication enabled="true" />-->
     </authentication>
 </security>

в моем случае configSections должны быть вверху в конфигурации

<configuration>
<configSections>
...
</configSections>
<othersetting>
</othersetting>
.....

для меня я получал последние данные из системы управления версиями, и это произошло.

applicationhost.путь virtualDirectory файла конфигурации отличался от пути в моей машине.

я восстановил свою собственную копию, и она работает. Я использую IIS express.

enter image description here


Я закончил решение этой проблемы, удалив obj папка моего веб-приложения. После восстановления решения проблема исчезла.