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



Я хочу загрузить свой собственный 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.



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

778   30  

30 ответов:

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

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

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

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

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

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

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

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

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

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

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

В моем случае установка IIS URL Rewrite module решила проблему.

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

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

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

Введите описание изображения здесь

Убедитесь, что физический путь верен:

Введите описание изображения здесь

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

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

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

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

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

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

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

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

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

run->cmd

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

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

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

IIS - > Edit Permissions - > Security Tab - > дайте" пользователям " соответствующие разрешения (или 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.аспн), указанных в мои сети.конфигурационный файл и мой веб-сайт IIS. В итоге я удалил запись с веб-сайта IIS и сохранил веб-сайт.запись конфигурации, как показано ниже:

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

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

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

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

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

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

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

скриншот настройки приложения

У меня была проблема, когда я копировал свой веб.config file down from prod, изменил все, что не связано с prod, кроме правил перезаписи, которые были переписаны на httpS.

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

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

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

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

резолюции:

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

Вам нужно установить разрешение для папки вашего сайта или скопировать их в папку 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>
.....

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

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

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

Введите описание изображения здесь

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

Comments

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