6

Ошибка IIS 500.19 с кодом 0x80070005: доступ к запрашиваемой странице невозможен из-за недействительных конфигурационных данных

12

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

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

Модуль: IIS Web Core
Уведомление: Неизвестно
Обработчик: Пока не определён
Код ошибки: 0x80070005
Ошибка конфигурации: Не удается прочитать файл конфигурации из-за недостаточных прав
Файл конфигурации: \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config

Я несколько раз искал решение этой ошибки, но ни одно из найденных решений не помогло.

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

В чем может быть проблема?

5 ответ(ов)

5

Наконец-то я нашел решение своей проблемы. Учетная запись ASP.NET не отображалась в диспетчере IIS, потому что я не активировал соответствующий флажок в IIS. Чтобы сделать это в Windows 7, выполните следующие шаги:

  1. Откройте Панель управления.
  2. Нажмите на ссылку «Программы» (не «Удаление программ»).
  3. Нажмите на ссылку «Включение или отключение компонентов Windows».
  4. Найдите в появившемся окне «Интернет-службы IIS» и раскройте этот узел.
  5. Раскройте узел «Служба Всемирной паутины».
  6. Раскройте узел «Функции разработки приложений».
  7. Установите флажок рядом с «ASP.NET».
  8. Затем нажмите кнопку OK.

Теперь вы увидите учетную запись ASP.NET в диспетчере IIS, а также по умолчанию вы увидите учетную запись IIS. Теперь вам нужно переместить ваш сайт ASP.NET из «Моих документов» в другое место, к которому у IIS есть доступ (например, на другой раздел вашего компьютера). Теперь вы можете просматривать ваш сайт через диспетчер IIS, и он должен работать.

Большое спасибо Джеффу Тёрнеру за решение.

2

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

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

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

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

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

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

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

0

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

  1. Откройте IIS Manager (Диспетчер IIS).
  2. Щелкните правой кнопкой мыши на нужном сайте.
  3. Выберите "Правка разрешений" (Edit Permissions).
  4. На вкладке "Безопасность" добавьте пользователя 'IIS_IUSRS'.
  5. Предоставьте полные права пользователю 'IIS_IUSRS'.
  6. Установите идентичность пула приложений на 'ApplicationPoolIdentity'.
0

Чтобы добавить свои пять копеек, у меня возникла такая же ошибка, и моя проблема оказалась довольно простой: мне не хватало .NET Core Hosting Bundle. Как только я установил этот пакет и перезагрузил сервер, все заработало.

Вы можете найти руководство по развертыванию ASP.NET Core на Windows здесь: https://learn.microsoft.com/ru-ru/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2

0

Лицо в ладонях:

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

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь