Я хочу загрузить свой собственный сайт 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
.
В чем проблема?
В сообщении говорится, что ваш конфигурационный файл каким-то образом поврежден. Однако он также говорит, что он не может фактически получить доступ к конфигурационному файлу. Поэтому я проигнорировал исходное сообщение о коррупции/отсутствии достоверности, поскольку это, скорее всего, просто следствие того, что вы не можете прочитать файл из-за отсутствия авторизации.
Причина, по которой он не может прочитать конфигурационный файл, заключается в том, что процесс, выполняемый вашим веб-приложением, не имеет права доступа к файлу/каталогу. Таким образом, вы должны предоставить процессу веб-приложение для этих разрешений.
Права доступа должны быть достаточно простыми, то есть по крайней мере Read, и, в зависимости от вашего приложения, возможно, Write.
Выше упоминается IUSR и т.д., не находящиеся в свойствах для web.config
. Если вы подразумеваете, что IUSR не указан на вкладке безопасности файла, тогда это хорошо. Один не хочет предоставлять IUSR любое разрешение на web.config. Роль IUSR является анонимным пользователем Интернета.
Файл web.config должен только быть доступен через ваше приложение.
Проблема заключается в том, что вы не указали, какую версию ОС и IIS вы используете, поэтому вам сложно сообщить, какие шаги предпринять.
т.е. в IIS 7.5 сообщение об ошибке, которое вы цитируете, скорее всего, произойдет из-за того, что вашему ApplicationPoolIdentity не назначены разрешения. Ваше веб-приложение принадлежит пулу приложений, поэтому вам нужно предоставить разрешения учетной записи ОС, с которыми работает ваш пул приложений веб-приложений. Часто это что-то вроде NetworkService, но вы можете настроить его для запуска под учетной записью с целями. Без дополнительной информации вам сложно помочь.
Это также может произойти, если сайт настроен на использование модуля IIS URL Rewrite, но он не установлен.
Наконец-то я получил решение своей проблемы. Учетная запись ASP.net не появилась в диспетчере IIS, потому что я не установил ее флажок в IIS. Для этого в Windows 7 выполните следующие действия:
Теперь вы увидите учетную запись ASP.net в диспетчере IIS и по умолчанию вы увидите учетную запись IIS. Теперь вам следует переместить веб-сайт ASP.net из "моего документа" в другое место, где IIS имеет разрешение на доступ к нему (т.е. В другой раздел на вашем компьютере). Теперь просмотрите ваш сайт у менеджера IIS, и он должен работать.
Большое спасибо Джеффу Тернеру за решение.
В моем случае установка модуля IIS URL Rewrite решила проблему.
У меня была та же проблема, вот решение, которое работало для меня.
Для разработчиков Visual Studio (VS): Как намечено Харви Дарви, Дикарем и Snives, ваша конфигурация хоста приложений может указывать на неправильный физический путь приложения. Найдите virtualDirectory в /. Vs/config/applicationhost.config, чтобы изменить физический_пакет, если он неверен.
Убедитесь, что физический_пакет верен:
Предупреждение Facepalm:
Вы также получите эту ошибку, если путь к файлу конфигурации неверен. Дважды проверьте его, чтобы убедиться, что физический путь введен правильно в IIS.
Вам необходимо назначить разрешения для IIS_IUSRS на локальном компьютере (но вам не нужно назначать для IUSR, на самом деле он будет работать, даже если вы явно запрещаете разрешения).
Чтобы назначить разрешения, просто щелкните правой кнопкой мыши по папке и на вкладке безопасности, убедитесь, что предоставили правильные разрешения, а если пользователь не указан, нажмите "ДОБАВИТЬ" и введите IIS_IUSRS (и убедитесь, что в разделе "домен" "выбран локальный компьютер или введите в поле имени YourLocalComputerName\IIS_IUSRS), и тогда вам будет хорошо идти.
Если вы хотите, вы можете вместо назначения разрешений группе IIS_IUSRS, вы можете вместо этого назначить пулу приложений, который в общем случае должен быть "IIS APPPOOL\имя пула приложений".
То же самое произошло со мной, попробуйте проверить это, дважды щелкнув строки подключения на правой панели IIS 7 при выборе веб-сайта.
Это даст вам сообщение об ошибке (что есть проблема с файлом веб-конфигурации), потому что вы использовали правила перезаписи URL, и соответствующий компонент не установлен.
Установите "Microsoft Rewrite Module 2.0 для IIS 7", и это должно устранить вашу проблему.
Ничего здесь не работало для меня, я нашел эту команду в другом SO-ответе, хотя и решил мою проблему. Просто запустите командную строку в качестве администратора и запустите эту команду:
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. Должен работать и для других версий.
Web Server
.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Убедитесь, что у пула приложений установлена правильная версия фреймворка. Вам также необходимо убедиться, что пользователи aspnet, IIS_IUSRS или IUSR имеют доступ для чтения к каталогу приложения.
Эмм. Я переместил свой сайт/файлы в другую папку. Без изменения пути на веб-сайте IIS.
Теперь вы можете все рассмеяться.
Иногда в этом сообщении могут отсутствовать компоненты в среде IIS, например. конкретную структуру или функцию IIS, такую как динамическое сжатие, а не разрешения для web.config.
Если это так, решение может заключаться в установке и использовании установщика Microsoft Platform Installer и установке этих отсутствующих компонентов - вам может потребоваться нанести удар по тому, что точно отсутствует, поскольку журнал ошибок и сообщение не сообщают вам.
Это также случилось со мной, когда у меня был документ по умолчанию с тем же именем (например index.aspx), указанный в обоих файлах web.config И на моем веб-сайте IIS. Я закончил удаление записи с веб-сайта IIS и сохранил запись в web.config, как показано ниже:
<system.webServer>
<defaultDocument>
<files>
<add value="index.aspx" />
</files>
</defaultDocument>...
У меня возникла проблема, когда я скопировал файл web.config с prod, изменил все, не связанные с prod, за исключением правил перезаписи, которые были переписаны на http S.
Удалены эти правила и выполняются нормально.
В моем случае это вызвало физический путь приложения к несуществующей папке в IIS.
Вам нужно установить разрешение на папку своего сайта или скопировать их в папку wwwroot:) - Если установлено разрешение, у вас есть 2 способа: + Щелкните правой кнопкой мыши на папку вашего сайта + Или щелкните правой кнопкой мыши на свой сайт в IIS = > выберите "Изменить разрешение" и "Добавить разрешение" (IUSR - пользователь iis по умолчанию) Удачи, -)
Исследуйте папку, в которой находится ваш веб-сайт, и увидите, что вы получите одну дополнительную папку "aspnet_client", которая удалит эту папку, и она будет работать для вас.
Я попытался решить эту проблему.
Если это сработает для вас, сделайте это как ответ, чтобы кто-то другой также получил решение.
возникла проблема с подключенными дисками, IIS не работает с подключенными дисками. Просто используйте unmapped диск.
Вы можете получить эту ошибку, если у вас есть синтаксическая ошибка или проблема в файле web.config.
Для меня это был бесстрашный амперсанд в URL, который я использовал в AppSettings.
У меня тоже была аналогичная проблема, и я исправил ее, комментируя некоторые разделы в файле web.config.
Проект был ранее построен и развернут в .Net 2.0. После перехода на .Net 3.5 он начал выдавать исключение.
Если ваш файл конфигурации содержит "< sectionGroup name=" system.web.extensions > ", прокомментируйте его и запустите, поскольку этот раздел уже доступен в Machine.config.
Довольно прямо, IIS не имеет доступа к вашему web.config. Я бы начал с того, что вытащил сайт из папки с вашими документами. Убедитесь, что он имеет r/w разрешения, а затем.
Я решил решить эту проблему, удалив папку obj
моего веб-приложения. После восстановления решения проблема исчезла.
Для меня я получал последние данные от источника управления, и это произошло.
Путь виртуального каталога файла applicationhost.config отличается от моего компьютера.
Я восстановил свою собственную копию, и она работает. Я использую экспресс-службу IIS.
В моем случае configSections должен быть наверху в конфигурации
<configuration>
<configSections>
...
</configSections>
<othersetting>
</othersetting>
.....
В моем случае он просто комментирует (или удаляет) свойство anonymousAuthentication:
<security>
<authentication>
<!--<anonymousAuthentication enabled="true" />-->
</authentication>
</security>
Добавить локальную учетную запись IIS_IUSRS в систему безопасности и расширить доступ к ней для чтения/выполнения. это работает по моему делу.
На странице ошибки IIS 7.5 вы получите ссылку "Просмотреть дополнительную информацию" внизу страницы, и в этом случае она перейдет к следующей ссылке Microsoft:
http://support.microsoft.com/kb/942055
Код ошибки 0x80070005, по-видимому, относится к разрешениям и соответствует шагам в Резолюции 2, метод 2, определяющий правильные учетные записи с разрешениями для соответствующих папок, должен исправить это - я потратил 3 дня на поиск решения, пока не наткнулся на него, работал сразу после.
Просто для того, чтобы сделать это, я получил такую же ошибку, и моя проблема была довольно простой: мне не хватало .NET Core Hosting Bundle. После того, как я установил инструмент и перезапустил сервер, все было в порядке.
Вы можете найти руководство по размещению ядра asp.net в Windows здесь: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
Я получал эту ошибку при запуске моего проекта с моего локального компьютера с использованием Visual Studio 2017
Ни одно из этих решений не помогло мне. В конце концов, исправление, которое работало для меня, было следующим:
Установите пакет .NET Core Windows Server Hosting
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1
Проверьте код ошибки /HResult и следуйте этому руководству:
Эта проблема возникает по одной из следующих причин:
- Вы используете IIS 7.0 на компьютере под управлением Windows Vista. Кроме того, вы настраиваете веб-сайт для использования сквозной аутентификации UNC для доступа к удаленному общему ресурсу Universal Naming Convention (UNC).
Группа IIS_IUSRS не имеет соответствующих разрешений для файла ApplicationHost.config, для файла Web.config или для виртуальных каталогов/каталогов приложений IIS.
Не настраивайте веб-сайт для использования сквозной аутентификации UNC для доступа к удаленному общему ресурсу UNC. Вместо этого укажите учетную запись пользователя, которая имеет соответствующие разрешения для доступа к удаленному общему ресурсу UNC.
Предоставьте разрешение на
IIS_IUSRS
группеIIS_IUSRS
для файлаApplicationHost.config
или для файлаWeb.config
.
Итак, простыми словами, вам нужно:
Web.config
).IIS_IUSRS
... и добавьте...: группа IIS_IUSRS
и подтвердите.В моем случае я только что запустил визуальную студию в режиме администратора.
Я изменил свой файл web.config, чтобы обеспечить фактический путь, чем относительный.
<httpPlatform processPath="F:\Projects\.....
instead of
<httpPlatform processPath="..\approot\web.cmd"
Я получил эту странную ошибку после указания значений в web.config
на следующем пути system.webServer\security\authentication
Мы предпочитаем управлять настройкой IIS с помощью web.config
, так как IIS является ужасным продуктом и трудно настраивается с использованием других методов.
Проблема заключалась в том, что IIS печатает свой авторитет, блокируя части конфигурации для внешних посредников.
Конфигурация аутентификации может быть разблокирована с помощью апплета делегирования функций на уровне IIS Server, установив Read/Write.
Конечно, если раньше мы должны были автоматизировать конфигурацию типов IIS auth, теперь мы должны автоматизировать разблокировку. Я упоминал, что IIS - ужасный продукт?
откройте свою папку, которая будет содержать ваш проект с помощью Windows Explore. щелкните правой кнопкой мыши эту папку и добавьте права для пользователя IUSER.
Попробуйте установить дополнительный компонент "Разработка приложений" в IIS
После сбоя сервера у нас появился сайт с сообщением об ошибке "HTTP 500.19 0x80070005 Ошибка - Не удается прочитать файл конфигурации web.config". Обычно это были разрешения или анонимная конфигурация пользователя, но они были установлены отлично и не изменились. Подозревая, что что-то повреждено в метабазе IIS (или в% windir%\system32\inetsrv\config\applicationHost.config с IIS7), я смог вернуть его и запустить, удалив сайт в IIS и повторно создав его.
Просто измените пространство имен на [WebService (Namespace = " http://tempuri.org/" )] на
http://microsoft.com/webservices/
Я решил проблему с этим решением
Ничего из этого не сработало для меня, но у меня наконец есть решение, которое сработало для меня:
удалите эту строку в файле web.config:
<compilation debug="true" targetFramework="4.5"/>
не удалять эту строку
<compilation debug="true"/>
В моем случае я выбрал пул приложений с .NET Framework 2.0 и включенным 32-битным приложением. У меня было приложение .NET Framework 2.0.
* Очень простое решение:
Перейдите в IIS
Выберите приложение из левой панели.
Дважды щелкните ссылку "Просмотр каталога в средней панели".
Теперь перейдите в правую область и в разделе "Действие", просто нажмите "ENABLE"
Что все!!
Люди, попытайтесь понять ошибку: Ошибка конфигурации Не удается прочитать файл конфигурации из-за недостаточных разрешений
Web.config
отличаются от других файлов в каталоге и не наследуются от его родителя . Я включил наследование ACL и все вернулось на круги своя.