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

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

Ошибка HTTP 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:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config

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

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

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

Ответ 1

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

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

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

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

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

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

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

Ответ 2

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

Ответ 3

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

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

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

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

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

Ответ 7

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

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

Ответ 8

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

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

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

Ответ 9

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

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

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

Ответ 10

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

run->cmd

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

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

Ответ 11

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

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

Ответ 12

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

Ответ 13

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

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

Ответ 14

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

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

Ответ 15

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

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

Ответ 16

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

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

Ответ 17

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

Ответ 18

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

application setting screenshot

Ответ 19

У меня возникла проблема, когда я скопировал файл web.config с prod, изменил все, не связанные с prod, за исключением правил перезаписи, которые были переписаны на http S.

Удалены эти правила и выполняются нормально.

Ответ 20

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

Ответ 21

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

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

Решение:

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

Ответ 22

Вы можете получить эту ошибку, если у вас есть синтаксическая ошибка или проблема в файле web.config.

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

Ответ 23

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

Ответ 24

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

Я попытался решить эту проблему.

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

Ответ 25

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

Вы можете найти руководство по размещению ядра asp.net в Windows здесь: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2

Ответ 26

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

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

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

Ответ 27

Ничего из этого не сработало для меня, но у меня наконец есть решение, которое сработало для меня:

удалите эту строку в файле web.config:

<compilation debug="true" targetFramework="4.5"/>

не удалять эту строку

<compilation debug="true"/>

Ответ 28

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

Ответ 29

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

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

Ответ 30

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

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