Поделиться через


Ошибка HTTP 500.0 — внутренняя ошибка сервера при открытии веб-страницы IIS

Эта статья поможет устранить ошибку HTTP 500.0, которая возникает при посещении веб-сайта, размещенного в службы IIS (IIS).

Исходная версия продукта: службы IIS
Исходный номер базы знаний: 942031

Итоги

В этой статье описывается в основном коды HResult при возникновении ошибки HTTP 500.0 в веб-приложении IIS. Сведения об ошибках 500.0, вызванных кодом веб-приложения, см. в разделе "Дополнительные сведения ".

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

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

Код HResult

Сообщение об ошибке HTTP 500.0 указывает, что проблема возникает на веб-сервере, на котором размещен веб-сайт во время возврата ошибки.

Ознакомьтесь со следующими сведениями об этих ошибках.

Код HResult 0x80070032

Сообщение об ошибке:

Ошибка сервера в приложении "<имя приложения>"
Ошибка HTTP 500.0 — внутренняя ошибка сервера
HRESULT: 0x80070032
Описание HRESULT. Фильтр ISAPI drive:\FilePath\ISAPI_FLT.dll пытался зарегистрироваться для уведомления SF_NOTIFY_READ_RAW_DATA.

Причина

Эта проблема возникает, так как СЛУЖБЫ IIS не поддерживают фильтр API INTERNET Server (ISAPI), который регистрирует уведомление SF_NOTIFY_READ_RAW_DATA .

Решение

Не используйте фильтр ISAPI, регистрирующий уведомление SF_NOTIFY_READ_RAW_DATA в IIS.

Код HResult 0x80070035

Сообщение об ошибке:

Ошибка сервера в приложении ApplicationName<>
Ошибка HTTP 500.0 — внутренняя ошибка сервера
HRESULT: 0x80070035
Описание HRESULT. Страница не может быть отображена из-за внутренней ошибки сервера.

Причина

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

Решение

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

Код HResult 0x8007000d

Сообщение об ошибке:

Ошибка сервера в приложении "<имя приложения>"
Ошибка HTTP 500.0 — внутренняя ошибка сервера
HRESULT: 0x8007000d
Описание HRESULT. Обработчик "ASPClassic" содержит поврежденный модуль "IsapiModule" в списке модулей.

Причина

Эта проблема возникает, так как модуль ISAPIModule отсутствует в списке модулей для веб-сайта. Модуль ISAPIModule находится в следующем расположении: drive:\Windows\System32\inetsrv\isapi.dll.

Решение

Чтобы добавить модуль ISAPIModule в список модулей для веб-сайта, выполните следующие действия.

  1. Нажмите кнопку "Запустить>", введите inetmgr.exe и нажмите кнопку "ОК".
  2. В диспетчере IIS разверните <веб-сайты с именем>>сервера и выберите веб-сайт, который требуется изменить.
  3. В представлении Просмотр возможностей дважды щелкните пункт Модуль.
  4. В области "Действия" выберите "Добавить собственный модуль".
  5. В диалоговом окне "Добавить собственный модуль" установите флажок IsapiModule и нажмите кнопку "ОК".

Код HResult 0x800700c1

Сообщение об ошибке:

Ошибка сервера в приложении "<имя приложения>"
Ошибка HTTP 500.0 — внутренняя ошибка сервера
HRESULT: 0x800700c1
Описание HRESULT. Страница не может быть отображена из-за внутренней ошибки сервера.

Причина

Эта проблема возникает из-за недопустимого сопоставления скриптов.

Решение

Чтобы убедиться, что сопоставление скриптов указывает на файл ISAPI.dll , который может обработать запрос, выполните следующие действия.

  1. Нажмите кнопку "Запустить>", введите inetmgr.exe и нажмите кнопку "ОК".

  2. В диспетчере IIS разверните <веб-сайты с именем>>сервера и выберите веб-сайт, который требуется изменить.

  3. В представлении Просмотр возможностей дважды щелкните пункт Сопоставления обработчиков.

  4. Убедитесь, что сопоставление сценария указывает на правильный файл ISAPI.dll.

    Например, ASP-файлы должны сопоставляться с файлом %windir%\system32\inetsrv\asp.dll.

Код HResult 0x80070005

Сообщение об ошибке:

Ошибка сервера в приложении "<имя приложения>"
Ошибка HTTP 500.0 — внутренняя ошибка сервера
HRESULT: 0x80070005
Описание HRESULT. Ошибка LoadLibraryEx в фильтре ISAPI "path_of_isapi".

Причина

Эта проблема возникает, так как фильтр ISAPI, который не является допустимым, загружается на глобальном уровне или на уровне веб-сайта.

Решение

Чтобы удалить недопустимый фильтр ISAPI, выполните следующие действия.

  1. Нажмите кнопку "Запустить>", введите inetmgr.exe и нажмите кнопку "ОК".
  2. В диспетчере IIS разверните <веб-сайты с именем>>сервера и выберите веб-сайт, который требуется изменить.
  3. В представлении Просмотр возможностей дважды щелкните пункт Фильтры ISAPI.
  4. Щелкните правой кнопкой мыши фильтр ISAPI, который требуется удалить, и нажмите кнопку "Удалить".

Код HResult 0x8007007f

Существует две возможности для HResult 0x8007007f:

Сообщение об ошибке 1

Ошибка сервера в приложении "<имя приложения>"
Ошибка HTTP 500.0 — внутренняя ошибка сервера
HRESULT: 0x8007007f
Описание HRESULT. Вызов GetProcAddress в фильтре ISAPI "path_of_isapi" завершился сбоем.

Причина

Эта проблема возникает, так как фильтр ISAPI, который не является допустимым, загружается на глобальном уровне или на уровне веб-сайта.

Решение

Чтобы удалить недопустимый фильтр ISAPI, выполните следующие действия.

  1. Нажмите кнопку "Запустить>", введите inetmgr.exe и нажмите кнопку "ОК".
  2. В диспетчере IIS разверните <веб-сайты с именем>>сервера и выберите веб-сайт, который требуется изменить.
  3. В представлении Просмотр возможностей дважды щелкните пункт Фильтры ISAPI.
  4. Щелкните правой кнопкой мыши фильтр ISAPI, который требуется удалить, и нажмите кнопку "Удалить".

Сообщение об ошибке 2

Ошибка сервера в приложении "<имя приложения>"
Ошибка HTTP 500.0 — внутренняя ошибка сервера
HRESULT: 0x8007007f
Описание HRESULT. Возникла проблема с требуемым ресурсом, поэтому его невозможно отобразить.

Причина

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

Решение

Чтобы выполнить сопоставление обработчика для запрошенной точки ресурса с файлом .dll , который может обработать запрос, выполните следующие действия:

  1. Нажмите кнопку "Запустить>", введите inetmgr.exe и нажмите кнопку "ОК".

  2. В диспетчере IIS разверните <веб-сайты с именем>>сервера и выберите веб-сайт, который требуется изменить.

  3. В представлении Просмотр возможностей дважды щелкните пункт Сопоставления обработчиков.

  4. Щелкните правой кнопкой мыши сопоставление скриптов, которое требуется изменить, и нажмите кнопку "Изменить".

  5. В диалоговом окне "Изменение карты скриптов" введите соответствующий исполняемый файл в поле Исполняемый файл и нажмите кнопку "ОК".

    Например, ASP-файлы должны сопоставляться с файлом %windir%\system32\inetsrv\asp.dll.

Дополнительная информация

Если код веб-приложения создает исключение и перехватывается средой выполнения приложения (например, средой выполнения ASP.NET), в веб-ответе также может появиться ошибка HTTP Error 500.0. Для любого исключения, вызванного кодом веб-приложения, проверьте журнал событий приложения или собственный пользовательский журнал приложений для типа исключения, сообщения об исключении и стека вызовов исключений.

Если требуется дальнейшая отладка, используйте последнюю версию DebugDiag для записи дампов исключений первого шанса.