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

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

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

Сводка

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

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

Код HResult

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

Ниже приведены сведения об этих ошибках.

Код HResult 0x80070032

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

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

Причина

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

Решение

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

Код HResult 0x80070035

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

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

Причина

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

Решение

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

Код 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. В диалоговом окне Изменение сопоставления сценария введите соответствующий исполняемый файл в поле Исполняемый файл, затем нажмите кнопку OK.
      Например, ASP-файлы должны сопоставляться с файлом %windir%\system32\inetsrv\asp.dll.

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

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