Не удается прочитать файл конфигурации из-за недостаточных разрешений

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

Я не могу для жизни меня понять, что не так. Я пытаюсь настроить сайт asp.net. Сайт хранится на диске D: сервера. В IIS8 (Windows Server 2012) я указываю на веб-папку, в которой находится файл web.config. Я предоставил группе IIS_IUSRS доступ для чтения ко всему диску D:, а также к IUSR и сетевой службе, которые являются частью группы IIS_IUSRS. Я продолжаю получать ошибку. Я установил аутентификацию как базовую аутентификацию. Я перезапустил сайт. Я пробовал много вещей, но достиг тупика. Это все на локальном хосте. У кого-нибудь есть еще идеи, почему это может происходить? Возможно, это конфигурация в моей веб-конфигурации? Этот веб-сайт переносится с веб-сайта IIS7. Если вам нужны подробности из моей веб-конфигурации, я могу сообщить вам, что, однако, многие из них содержат конфиденциальную информацию.

Ошибка:

Ошибка HTTP 500.19 — внутренняя ошибка сервера

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

Подробная информация об ошибке:

Модуль веб-ядра IIS

Уведомление

Обработчик еще не определен

Код ошибки 0x80070005

Ошибка конфигурации Не удается прочитать файл конфигурации из-за недостаточных разрешений

Файл конфигурации \?\D:\Applications\Portal\Portal.Web\web.config

Запрошенный URL-адрес localhost:80/портал

Физический путь D:\Applications\Portal\Portal.Web

Метод входа в систему еще не определен

Вход в систему Пользователь еще не определен

Запросить каталог трассировки C:\inetpub\logs\FailedReqLogFiles

Источник конфигурации: -1:0:


person McSick    schedule 10.12.2012    source источник


Ответы (3)


[1]. Сначала заставьте его работать для анонимных пользователей. Затем ужесточить разрешения.

Если это не работает для анонимных пользователей, найдите имя пула приложений (в IIS). В пулах IIS найдите удостоверение, под которым работает пул приложений. Предоставьте этой учетной записи права на чтение.

[2]. Просмотрите журналы сервера (Панель управления, Администрирование, Просмотр событий, Система), чтобы получить дополнительную информацию об ошибке.

Кроме того, имейте в виду, что любой, кто аутентифицируется на сайте как неанонимный пользователь, нуждается в разрешениях (чтение) для веб-контента. Вы можете проверить/устранить это как возможную проблему, временно предоставив разрешения на чтение для группы «Все» в файле web.config (на уровне файловой системы). Не оставляйте это так. Просто используйте этот подход для проверки разрешений.

person tgolisch    schedule 10.12.2012
comment
Это было оно! Оказывается, нам пришлось переименовать пул приложений. - person McSick; 10.12.2012
comment
В пулах IIS найдите удостоверение, под которым работает пул приложений. Предоставьте этой учетной записи права на чтение. Как вы предоставляете разрешения этой учетной записи? - person RayLoveless; 02.10.2013
comment
IIS настроен так, чтобы указывать на папку на жестком диске (обычно c:\inetpub\wwwroot). Используя (файловый) проводник, щелкните правой кнопкой мыши эту папку, Свойства, Безопасность. Убедитесь, что эта учетная запись находится в списке с разрешениями на чтение. - person tgolisch; 03.10.2013

Вы можете проверить, под каким пользователем работает веб-сайт, открыв IIS Manager и проверив пул приложений. Щелкните пул приложений, который использует сайт, а затем на панели «Действия» выберите «Дополнительные параметры». Проверьте под личностью. Если для него установлено значение ApplicationPoolIdentity, вам нужно будет добавить его в корневую веб-папку. Вы добавляете это, вручную вводя «IIS APPPOOL*apppoolname*», где apppoolname — буквально имя пула приложений, который вы выбрали изначально. Нажмите CheckNames после того, как вы ввели имя, и оно должно разрешить имя пула приложений без предшествующего пула приложений iis.

person Terri Rougeou Donahue    schedule 26.03.2014
comment
Несколько замечаний по этому поводу: пользователь более правильно IIS APPPOOL\apppoolname (обратите внимание на пробел и обратную косую черту по сравнению с вышеприведенным), и вам может потребоваться убедиться, что вы установили местоположения на локальный компьютер, если вы находитесь в домене - это сводил меня с ума на несколько минут. Кроме того, вы можете сделать это только в 2008R2/Windows 7, даже если у вас установлен IIS 7.5 на 2008, отличной от R2! Если у вас установлена ​​версия 7.5 на Vista или 2008, отличной от R2, вам нужно перейти на компьютер с Win 7 или R2, подключиться к файловой системе через общий ресурс и добавить разрешения оттуда. - person S'pht'Kr; 27.03.2014
comment
Не уверен, что случилось с \ в моем предыдущем комментарии. Спасибо, что добавили это. Надеюсь, это помогло решить эту проблему. - person Terri Rougeou Donahue; 01.04.2014

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

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

ВАЖНО. Выполните следующие команды по отдельности в командном окне (DOS) с правами администратора (т. е. щелкните правой кнопкой мыши Командная строка и выберите Запуск от имени администратора).

%windir%\system32\inetsrv\appcmd конфигурация разблокировки -section:httpCompression

%windir%\system32\inetsrv\appcmd конфигурация разблокировки -section:staticContent

%windir%\system32\inetsrv\appcmd установить конфигурацию /section:urlCompression /doDynamicCompression:True

%windir%\system32\inetsrv\appcmd установить конфигурацию /section:urlCompression /doStaticCompression:True

%windir%\system32\inetsrv\appcmd set config /section:httpCompression /+staticTypes.[mimeType='text/*',enabled='true'] /commit:apphost

%windir%\system32\inetsrv\appcmd set config /section:httpCompression /+staticTypes.[mimeType='message/*',enabled='true'] /commit:apphost

%windir%\system32\inetsrv\appcmd set config /section:httpCompression /+staticTypes.[mimeType='image/*',enabled='true'] /commit:apphost

%windir%\system32\inetsrv\appcmd set config /section:httpCompression/+staticTypes.[mimeType='application/x-javascript',enabled='true'] /commit:apphost

%windir%\system32\inetsrv\appcmd set config /section:httpCompression/+staticTypes.[mimeType='application/javascript',enabled='true'] /commit:apphost

%systemroot%\system32\inetsrv\AppCmd ​​конфигурация разблокировки /section:windowsAuthentication

%systemroot%\system32\inetsrv\AppCmd ​​конфигурация разблокировки /section:anonymousAuthentication

person user1353936    schedule 27.03.2015