Windows Server 2016 и 2019 Windows Server 2016Windows Server 2019 500.19

Windows Server: IIS возвращает ошибку 500.19

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

Ошибка IIS 500.19 означает, что сервер не может прочитать файл web.config или applicationHost.config: неверный XML, заблокированный раздел конфигурации, нет модуля или нет прав на файл. Прочитайте код в сообщении (0x8007000d, 0x80070021, 0x80070005) и исправьте причину.

В этой статье
  1. Как читать ошибку
  2. Частые причины
  3. Порядок действий
IIS 500.19
HTTP Error 500.19 - Internal Server Error. The requested page cannot be accessed because the related configuration data for the page is invalid. Error Code 0x80070005
По-русскиIIS не смог загрузить конфигурацию сайта.

#Как читать ошибку

Страница 500.19 содержит блоки: «Модуль», «Уведомление», «Обработчик», «Код ошибки» и «Config File» (файл, который не удалось прочитать). Код ошибки и строка «Config Source» с номером строки указывают на причину. Исправляйте её, а не общую страницу.

| Код | Смысл | Что делать | |---|---|---| | 0x80070005 | Нет прав на чтение web.config или каталога | Выдать права IIS_IUSRS и пулу приложений | | 0x8007000d | Неверный XML или данные в web.config | Исправить синтаксис, кодировку | | 0x80070021 | Раздел заблокирован (lockedby) в applicationHost.config | Разблокировать раздел или убрать из web.config | | 0x800700b7 | Дубликат элемента в конфигурации | Удалить дублирующий элемент или добавить <clear /> | | 0x80070003 | Путь не найден (физический путь сайта) | Исправить путь в привязке сайта | | 0x8007052e / 0x80070570 | Ошибка доступа к общей папке или повреждённый файл | Проверить доступ, пересоздать конфигурацию |

#Частые причины

Возможная причинаКак узнатьЧто делать
Нет прав на папку или web.configФайлы скопированы с другого сервера.Код 0x80070005.Выдайте права IIS_IUSRS и пулу.
Неверный XMLОшибка при правке.Код 0x8007000d.Проверьте теги и кавычки.
Модуль URL Rewrite не установленВ web.config есть <rewrite>.Раздел не распознан.Установите модуль Rewrite с сайта iis.net.
Заблокированный раздел (lockedBy)Раздел защищён в родителе.Код 0x80070021.Разблокируйте через appcmd.
Дубликат элементаОдинаковые записи в наследуемой конфигурации.Код 0x800700b7.<remove /> или <clear />.
Неверный путь сайтаПапка удалена.Код 0x80070003.Исправьте путь в IIS.

#Порядок действий

  1. Прочитайте код и строку Config Source на странице ошибкиОткройте страницу IIS с ошибкой 500.19 и запишите её подтип/код HRESULT (0x8007000d, 0x80070021, 0x80070005 и т. п.) и Config File/Config Source, если они видны на локальном сервере. Это разные причины, поэтому не применяйте разом разрешения, разблокировку секций и переустановку IIS.
  2. Проверьте XMLЧерез консоль сервера откройте «Диспетчер служб IIS» (inetmgr) → «Сайты» → нужный сайт и проверьте, какой файл web.config используется. Откройте его в редакторе с сохранением резервной копии, найдите указанную строку и проверьте корректность XML и расположение директив. Для ошибки некорректного XML исправьте скобку, кодировку или повтор секции.
  3. Проверьте праваПри 0x80070005 проверьте права чтения к web.config и родительским каталогам через вкладку «Свойства → Безопасность» или icacls в повышенной командной строке. Выясните удостоверение пула приложений; при необходимости выдавайте ему минимальные разрешения на чтение именно нужного файла. Не выполняйте рекурсивный grant Full Control для всех.
  4. Проверьте установленные компоненты IIS и модулиПри 0x80070021 определите в сообщении, какая секция заблокирована на верхнем уровне. В «Диспетчер служб IIS» → «Редактор конфигурации» администратор может выяснить, где секция доступна; разблокировка через appcmd unlock config должна соответствовать политике размещения сайтов. Не разблокируйте обработчики и модули глобально только ради одной страницы без проверки последствий.
  5. Проверьте блокировку разделовПроверьте физический путь сайта в «Основные настройки» и соответствие виртуальных каталогов/вложенных приложений. Неверная граница приложения может заставить IIS интерпретировать web.config из другого каталога. После исправления откройте нужный URL, не перезапуская все сайты IIS.
  6. Временно переименуйте web.config и проверьте, открывается ли сайтЕсли ошибка связана с отсутствующим модулем или обработчиком, откройте «Диспетчер сервера → Добавить роли и компоненты» и проверьте установленные компоненты Web Server (IIS) для данной версии приложения. Устанавливайте компонент только после подтверждения зависимости и требований программы; лишняя роль способна увеличить поверхность атаки.
  7. Проверьте журнал IIS и журнал событийВ «Просмотр событий → Журналы Windows → Приложение» проверьте свежие сообщения IIS/WAS для нужного пула, затем повторно запросите URL. Если ошибка осталась, соберите HRESULT, строку Config Source, идентификатор пула и версии модуля; передайте разработчику вместо изменения прав/настроек наугад.
  8. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Проверить синтаксис web.config на корректность XML
    Windows · Командная строка (CMD)Команда
    Проверить синтаксис web.config на корректность XML
    powershell -Command "[xml](Get-Content 'C:\inetpub\wwwroot\site\web.config' -Raw) | Out-Null; 'XML корректен'"
    Вариант 2Выдать права чтения на каталог сайта группе IIS_IUSRS и пулу приложений (замените путь и имя пула)
    Windows · Командная строка (CMD)КомандаПрава администратора
    Выдать права чтения на каталог сайта группе IIS_IUSRS и пулу приложений (замените путь и имя пула)
    icacls "C:\inetpub\wwwroot\site" /grant "IIS_IUSRS:(OI)(CI)RX"
    icacls "C:\inetpub\wwwroot\site" /grant "IIS AppPool\SiteAppPool:(OI)(CI)RX"
    Вариант 3Проверить текущие права
    Windows · Командная строка (CMD)Команда
    Проверить текущие права
    icacls "C:\inetpub\wwwroot\site\web.config"
    Вариант 4Разблокировать раздел конфигурации, на который указывает lockedBy (пример: обработчики)
    Windows · Командная строка (CMD)КомандаПрава администратора
    Разблокировать раздел конфигурации, на который указывает lockedBy (пример: обработчики)
    %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
    Вариант 5Список сайтов, пулов и физических путей
    Windows · Командная строка (CMD)Команда
    Список сайтов, пулов и физических путей
    %windir%\system32\inetsrv\appcmd list site
    %windir%\system32\inetsrv\appcmd list vdir
    Вариант 6Установленные компоненты IIS (проверьте ASP.NET, URL Rewrite отдельно)
    Windows · PowerShellКомандаПрава администратора
    Установленные компоненты IIS (проверьте ASP.NET, URL Rewrite отдельно)
    Get-WindowsFeature Web-* | Where Installed | Select Name
    Вариант 7Журнал событий IIS и приложения за последний час
    Windows · Командная строка (CMD)Команда
    Журнал событий IIS и приложения за последний час
    powershell -Command "Get-WinEvent -FilterHashtable @{LogName='Application';StartTime=(Get-Date).AddHours(-1)} | Where ProviderName -match 'IIS|ASP' | Select -First 10 TimeCreated, Message"

Если ошибка возникает только после публикации приложения, проверьте версию .NET Hosting Bundle для ASP.NET Core и целевую платформу пула приложений: несовместимость даёт похожие сообщения.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.