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

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

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

+431
09 февр. '12 в 17:56
источник поделиться
45 ответов
  • 1
  • 2

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

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

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

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

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

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

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

+154
13 мая '12 в 9:00
источник

Связанные вопросы


Похожие вопросы

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

+580
21 янв. '13 в 23:14
источник

Наконец-то я получил решение своей проблемы. Учетная запись 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, и он должен работать.

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

+398
11 февр. '12 в 11:46
источник

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

+49
25 янв. '13 в 14:39
источник

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

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

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

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

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

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

+36
10 сент. '16 в 22:06
источник

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

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

+22
19 сент. '13 в 13:51
источник

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

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

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

+18
14 авг. '12 в 16:19
источник

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

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

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

+9
18 сент. '13 в 8:35
источник

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

run->cmd

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

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

+8
20 февр. '15 в 12:09
источник

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

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

+6
23 окт. '12 в 15:13
источник

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

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

+5
05 окт. '15 в 21:17
источник

Я делаю эти шаги для решения этой проблемы в 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
+5
25 апр. '15 в 13:45
источник

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

+5
09 февр. '12 в 17:58
источник

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

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...
+4
21 сент. '12 в 17:17
источник

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

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

+4
12 дек. '12 в 0:52
источник

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

application setting screenshot

+3
10 янв. '14 в 22:40
источник

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

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

+3
08 июл. '16 в 21:55
источник

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

+3
20 июл. '13 в 17:53
источник

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

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

Решение:

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

+2
21 мая '13 в 8:56
источник

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

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

+2
25 сент. '13 в 19:24
источник

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

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

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

+2
14 июл. '14 в 14:40
источник

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

+2
06 мая '14 в 13:33
источник

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

+2
09 февр. '12 в 17:58
источник

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

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

+2
21 янв. '19 в 17:47
источник

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

 <security>
     <authentication>
         <!--<anonymousAuthentication enabled="true" />-->
     </authentication>
 </security>
+1
07 мая '15 в 1:45
источник

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

+1
15 апр. '17 в 4:06
источник

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

Путь виртуального каталога файла applicationhost.config отличается от моего компьютера.

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

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

+1
01 апр. '16 в 15:48
источник

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

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

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

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

<compilation debug="true"/>
+1
17 авг. '14 в 22:01
источник

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

+1
25 нояб. '14 в 17:08
источник
  • 1
  • 2

Посмотрите другие вопросы по меткам или Задайте вопрос