Ошибка HTTP 500.0 — Internet Information Services

  • Статья
  • Чтение занимает 4 мин

Эта статья поможет устранить ошибку 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 для записи первых дампов исключений.

Ошибка сервера 500. Как её исправить?

Методы решения внутренней ошибки сервера 500

Метод решения зависит от типа возникшей проблемы на сервере. Поэтому предварительно необходимо продиагностировать варианты ошибок.

Произвольный php сайт

На самописных сайтах чаще всего два варианта возникновения ошибки 500: ошибка в .htaccess и слишком долгое выполнение скрипта. Если ошибка в хтаксес, то необходимо откатить файл до предыдущей версии. Если не поможет, то просто очистите его и по строке добавляйте, чтобы найти проблемные директивы. С ними и нужно будет работать. Вероятно, отключен какой-то модуль на стороне сервера.

Если же слишком долго выполняется скрипт, то необходимо его оптимизировать. А это уже вопрос к разработчику. Некоторые скрипты, например, интеграции с обменом данными могут выполняться очень долго, поэтому целесообразно рассмотреть переезд на более мощный сервер.

Ошибка 500 в WordPress

В вордпрессе internal server error 500 возникает по следующим причинам:

  • Неполадки после обновления ядра сайта
  • Конфликты с плагинами
  • Ошибки в .htaccess
  • Превышено время выполнения скрипта

Неполадки после обновления очень сложно отследить. Именно поэтому всегда делайте бэкап перед обновлением! Это убережет вас от случайного возникновения 500 ошибки. Если бэкапа нет, то попытайтесь его запросить у хостинговой компании (в 99% случаев у них будет бэкап за последние сутки или неделю. Можно восстановиться из него). Если же даже хостер не может отдать вам бэкап, то нужно действовать так:

  • Проверить все более простые варианты: например, ошибку в хтаксес
  • Идти в логи сервера и искать проблемный скрипт
  • Определить, почему он выдает ошибку и исправить её

На словах звучит просто, а на практике на решение вопроса может уходить десятки часов. Если у вас на сайте много трафика, то готовы ли вы так рисковать ради слепого обновления? Или лучше просто сделать бэкап?

Если же ошибка вызвана конфликтом плагинов, то тут проще: отключите все плагины (либо удалите их с сервера, они отключатся автоматически). И включайте их потом по одному. Так вы легко определите конфликтый.

Внутренняя ошибка 500 в Joomla

В Джумле очень часто ошибка 500 возникает при входе в админку. Подход к решению аналогичен написанному выше: диагностика + поиск решения.

Так выглядит ошибка 500 в Джумле

В Joomla лог ошибок лежит в папке logs. Файл называется error.php Если в нем пусто, то посмотрите на логи хостинга (уточните у своего хостера точное месторасположение файла). Скорее всего, вы там увидите скрипт, который выдает ошибку. Ну и дальше уже работайте с этим скриптом, устраняя ошибку.

Иногда ошибка 500 при входе в админку Joomla возникает из-за невозможности записи в папки /logs и /tmp В этом случае временно назначьте права 777 на них (затем обязательно измените на 755 и если ошибка снова проявится — пишите хостеру, т.к. это дыра в безопасности сервера).

Если и это не помогло, то пропишите в configuration.php следующее:

 

public $log_path = ‘full_path/logs’;public $tmp_path = ‘full_path/tmp’;

public $log_path = ‘full_path/logs’;

public $tmp_path = ‘full_path/tmp’;

вместо full_path нужно указать полный путь к папке (именно серверный путь, а не http адрес!).

Этих решений достаточно в 95% случаев для решения данной проблемы. Если проблема не решится, то пишите, разберемся в индивидуальном порядке.

Устраняем ошибку 500 в opencart

В opencart ошибка сервера 500 появляется иногда сама собой.  При этом в логах может не быть ничего указано. Интересно, что файл логов может разрастаться очень до больших размеров, тем самым вызывая пятисотую ошибку сервера.

Вот виновник вопроса (лог модуля vQmod): корень_сайта/vqmod/vqmod.log

Решения два: либо время от времени по крону очищать этот файл, либо обновить vQmod до последней версии (в ней файл обнуляется каждые 7 дней).

Ошибка 500 в Битриксе. Что делать?

Битрикс требователен к ресурсам хостинга, поэтому на слабых серверах может периодически возникать ошибка 500. Решение тут может быть только одно — переезд на более надежный и мощный сервер.

Но перед этим обязательно проверить файл error.log, именно в него пишутся все логи ошибок системы. Битрикс очень плотно работает с файловой системой, для него критичны права доступа, поэтому за ними нужно следить особенно тщательно!

Что такое «Ошибка HTTP 500 — Внутренняя ошибка сервера» и как ее исправить? — База знаний

Коды ошибок HTTP предоставляют информацию о статусе онлайн-запроса к серверу — был ли он успешным или нет, и в чем заключается ошибка.

Иногда эти сообщения об ошибках не всегда ясны, как в случае с ошибка сервера 500. Хотя эта внутренняя ошибка сервера 500 обычно указывает на проблему с сервером, у нее может быть несколько причин.

В этой статье подробно рассматриваются 500 внутренних ошибок сервера — , что их вызывает и как их можно исправить. Давай начнем.

Что такое ошибка HTTP 500?

Внутренняя ошибка сервера 500 — это сводное сообщение об ошибках, когда сервер не может выполнить запрос. Это означает, что ошибка HTTP 500 может появиться на любом веб-сайте, размещенном на любом сервере.

Существует множество вариантов ошибки HTTP 500, , но без конкретной причины. Вы также можете увидеть коды состояния 500 ошибок рядом с другими числами (хотя это зависит от того, используете ли вы сервер Windows).

Вот несколько примеров:

  • HTTP 500
  • 500 Внутренняя ошибка сервера
  • 500.100: Внутренняя ошибка ASP.
  • 500.21: Модуль не распознан.
  • 500.23: Конфигурация обработчиков HTTP ASP.NET не применяется в режиме управляемого конвейера.
  • 500.53: Ошибка перезаписи во время обработки уведомления RQ_RELEASE_REQUEST_STATE. Произошла ошибка выполнения исходящего правила. Правило настроено на выполнение до обновления выходного пользовательского кэша.

В некоторых случаях вы можете увидеть пустой экран вместо ошибки 500. Это происходит с такими браузерами, как Safari и Firefox. И если вы пытаетесь получить доступ к веб-сайту более крупного бренда, вы можете даже увидеть специальное сообщение об ошибке 500.

Что вызывает внутреннюю ошибку сервера?

В отличие от 400 кодов ошибок, которые указывают на проблему со стороны клиента, внутреннее сообщение об ошибке сервера указывает на ошибку, связанную с конфигурацией сервера.

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

В любом случае, если внутренняя ошибка сервера сохраняется слишком долго, скажем, пять часов или более, Google может пометить это как проблему на уровне сайта, и это может повлиять на вашу поисковую оптимизацию.

Вот несколько причин, по которым вы можете столкнуться с внутренней ошибкой сервера.

  • Ошибка разрешений: Это означает, что права доступа к основным файлам и папкам установлены неправильно.
  • Неверный код .htaccess: Это указывает на неправильную конфигурацию файла .htaccess.
  • Тайм-аут PHP: Здесь сценарий пытается получить доступ к внешнему ресурсу и сталкивается с тайм-аутом.
  • PHP Ограничение памяти: Это происходит, когда процесс потребляет так много памяти и не может быть завершен корректно.
  • Синтаксические или кодовые ошибки в сценариях CGI/Perl: В некоторых ситуациях сценарии могут быть неточными. Пути, в частности, могут стать смещенными.

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

Способы устранения внутренней ошибки сервера 500?

С чего начать устранение внутренней ошибки сервера 500 и как ее исправить?

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

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

Иногда простая ошибка конфигурации может вызвать сообщение 500.

Например, если Apache является веб-сервером, который вы используете, вы можете попытаться выяснить, есть ли проблема с вашим файлом .htaccess. Если у вас есть файл .htaccess и Apache не может его найти , вы можете получить 500 Internal Server Error.

Перезагрузить страницу

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

Это означает, что настройки вашего компьютера или сетевого подключения в порядке . В результате перезагрузка страницы позже является самым простым вариантом для вас как пользователя Интернета.

В качестве альтернативы вы также можете использовать средство проверки состояния HTTP. Этот веб-сайт — www.downforeveryoneorjustme.com — сообщит вам, если сайт недоступен во всем мире или только на вашей стороне.

Инструмент проверяет код состояния HTTP, возвращаемый сервером, чтобы определить, все ли в порядке.

Очистите кеш браузера 

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

Если ошибка сохраняется, возможно, вам придется подождать, пока оператор веб-сайта исправит ее со своей стороны.

Проверка журналов сервера

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

Список сообщений об ошибках для серверов Linux можно найти по адресу:

 /var/log/httpd/error log.

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

Это поможет вам быстро определить источник ошибки. Примите во внимание любые изменения, которые вы сделали в последнее время. Несовместимые плагины или неверные коды часто вызывают внутренние сообщения об ошибках сервера.

Проверьте также файл .htaccess: даже незначительная синтаксическая ошибка приведет к внутренней ошибке сервера.

Неправильное форматирование файла .htaccess также является стандартной ошибкой, но не в формате Unicode, а в формате ASCII или ANSI. Убедитесь, что вы редактируете файл .htaccess с помощью текстового редактора, такого как Notepad, Notepad++ или Sublime Text.

Вы можете легко проверить, связана ли проблема с файлом .htaccess. Просто переименуйте исходный (например, . htaccess1) в и попробуйте перезагрузить сайт. Если проблема связана с исходным файлом, Apache создаст новый и будет работать как положено. Затем вы можете внести необходимые изменения в файл .htaccess, чтобы убедиться, что он соответствует требованиям вашего сайта.

Если у вас есть WordPress, вы можете включить его режим отладки, добавив этот код ниже в файл wp-config.php.

  • определить( ‘WP_DEBUG’, правда )
  • определить («WP_DEBUG_LOG», правда)
  • определить («WP_DEBUG_DISPLAY», ложь)

Вы также можете просмотреть файлы журналов для Apache и Nginx, которые обычно находятся здесь:

  • /var/log/apache2/error.log (Apache)
  • /var/log/nginx/error.log (Nginx)

Вы должны включить отчеты об ошибках PHP, если фатальная ошибка PHP вызывает сообщение об ошибке 500. Добавьте приведенный ниже код в файл, вызывающий ошибку. В большинстве случаев вы можете сузить файл на вкладке консоли Google Chrome DevTools.

  • ini_set(‘display_errors’, 1)
  • ini_set(‘display_startup_errors’, 1)
  • error_reporting(E_ALL)

Вы также можете изменить файл php.ini с помощью этого кода:

display_errors = on

Fix PHP Memory Limit

Ограничение памяти указывает максимальный объем памяти, который может использовать процесс. Если требуется больше оперативной памяти, чем можно использовать, может возникнуть внутренняя ошибка сервера. В качестве обходного пути можно временно поднять шапку. Для этого добавьте в файл php.ini следующую команду:

memory_limit = 512M

Это исправление является временным. Если это происходит часто, вам следует подумать о приобретении более мощного пакета хостинга.

Время ожидания сервера

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

Конечно, отказ от зависимости вашего сайта от внешних ресурсов — это один из способов избежать причины этой ошибки. Если это невозможно , вы должны увеличить лимит времени вашего скрипта. Также рекомендуется включить эффективную обработку ошибок, чтобы система могла точно обнаруживать ошибки сценария PHP.

Вкратце

Не существует какой-то одной причины внутренней ошибки сервера.

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

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

Как исправить «500 — внутренняя ошибка сервера»?

Как исправить «500 — внутренняя ошибка сервера»?

Ознакомьтесь с этой статьей, чтобы узнать, почему может возникнуть ошибка «500 — Внутренняя ошибка сервера» и как ее исправить.

Автор Thrive Themes. Обновлено более недели назад

Ошибка «500 — Внутренняя ошибка сервера» может возникнуть, когда вы пытаетесь сохранить контент на своем веб-сайте. Эта ошибка может быть вызвана несколькими возможными причинами, такими как ограничение памяти, конфликты между плагинами и темами, размер входного буфера, post_max_size, неправильные права доступа к файлам или старая версия PHP.

Чтобы решить эту ошибку, вы можете попробовать следующее:

1. Исключить конфликты плагинов и тем

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

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

Если деактивация плагина/темы решила проблему, вам следует связаться с разработчиками соответствующего плагина/темы и сообщить им об ошибке. Вы также можете отправить им шаги, чтобы воспроизвести его.

2. Обновите темы/плагины/WordPress

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

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

3. Проверьте настройки безопасности

Иногда брандмауэр сервера или другие настройки безопасности возвращают сообщение «500 — внутренняя ошибка сервера» вместо ошибки «403-Forbidden». Вы можете проверить настройки безопасности на своем веб-сайте, чтобы узнать, есть ли какие-либо настройки, которые могут блокировать запрос на сохранение контента.

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

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

4. Попросите хостинговую компанию увеличить лимит памяти

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

Идеальные настройки будут следующими:

Если вам нужна дополнительная информация о том, как это сделать, ознакомьтесь с этой статьей.