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


Ошибка 500 на сайте: что такое и как исправить

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

Что такое внутренняя ошибка сервера 500

Код ошибки 5хх говорит о том, что браузер отправил запрос корректно, но сервер не смог его обработать. Что значит ошибка 500? Это проблема сервера, причину которой он не может распознать.

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

  • Внутренняя ошибка сервера 500,
  • Ошибка 500 Internal Server Error,
  • Временная ошибка (500),
  • Внутренняя ошибка сервера,
  • 500 ошибка сервера,
  • Внутренняя ошибка HTTP 500,
  • Произошла непредвиденная ошибка,
  • Ошибка 500,
  • HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).

Дизайн и описание ошибки 500 может быть любым, так как каждый владелец сайта может создать свою версию страницы. Например, так выглядит страница с ошибкой на REG.RU:

Как ошибка 500 влияет на SEO-продвижение

Для продвижения сайта в поисковых системах используются поисковые роботы. Они сканируют страницы сайта, проверяя их доступность. Если страница работает корректно, роботы анализируют её содержимое. После этого формируются поисковые запросы, по которым можно найти ресурс в поиске.

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

Проверить, осталась ли страница на прежних позициях, можно с помощью Google Search Console. Если робот исключил страницу из поисковой выдачи, её можно добавить снова.

Код ошибки 500: причины

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

  • ошибки в файле . htaccess,
  • неподходящая версия PHP,
  • некорректные права на файлы и каталоги,
  • большое количество запущенных процессов,
  • большие скрипты,
  • несовместимые или устаревшие плагины.

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

Что делать, если вы пользователь

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

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

Удаленный сервер возвращает ошибку не только из-за серьёзных проблем на сервере. Иногда 500 ошибка сервера может быть вызвана небольшими перегрузками сайта.

Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш:

  • на ПК — F5,
  • на ноутбуке — Fn + F5,
  • на устройствах от Apple — Cmd + R.

Обратите внимание! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появляется 500 Internal Server Error (перевод — внутренняя ошибка сервера), при перезагрузке страницы может создаться несколько заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, попробуйте оформить заказ заново.

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

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

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

Что делать, если вы владелец сайта

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

Ниже рассмотрим самые популярные причины и способы решения.

Ошибки в файле .htaccess

Неверные правила в файле . htaccess — частая причина возникновения ошибки. Чтобы это проверить, найдите .htaccess в файлах сайта и переименуйте его (например, в test). Так директивы, прописанные в файле, не повлияют на работу сервера. Если сайт заработал, переименуйте файл обратно в .htaccess и найдите ошибку в директивах. Если вы самостоятельно вносили изменения в .htaccess, закомментируйте новые строки и проверьте доступность сайта.Также может помочь замена текущего файла .htaccess на стандартный в зависимости от CMS.

Найти директиву с ошибкой можно с помощью онлайн-тестировщика. Введите содержимое .htaccess и ссылку на сайт, начиная с https://. Затем нажмите Test:

Произошла непредвиденная ошибка

На экране появится отчёт. Если в .htaccess есть ошибки, они будут выделены красным цветом:

500 ошибка nginx

Активирована устаревшая версия PHP

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

Установлены некорректные права на файлы и каталоги сайта

В большинстве случаев корректными правами для каталогов являются «755», для файлов — «644». Проверьте, правильно ли они установлены, и при необходимости измените права на файлы и папки.

Запущено максимальное количество процессов

На тарифах виртуального хостинга REG.RU установлены ограничения на количество одновременно запущенных процессов. Например, на тарифах линейки «Эконом» установлено ограничение в 18 одновременно запущенных процессов, на тарифах «+Мощность» ― 48 процессов. Если лимит превышен, новый процесс не запускается и возникает системная ошибка 500.

Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других процессов.

Чтобы проверить количество процессов, подключитесь по SSH. Выполните команду:

ps aux | grep [u]1234567 |wc -l

Вместо u1234567 укажите ваш логин хостинга: Как узнать логин хостинга.

Чтобы посмотреть, какие процессы запущены, введите команду:

ps aux | grep [u]1234567

Вместо u1234567 укажите логин услуги хостинга.

Командная строка отобразит запущенные процессы:

Код ошибки 500

Где:

  • u1234567 — логин услуги хостинга,
  • 40522 — PID процесса,
  • S — приоритет процесса,
  • /usr/libexec/sftp-server — название процесса.

Процесс можно завершить командой kill, например:

kill 40522

Вместо 40522 укажите PID процесса.

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

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

Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.

Скрипты работают слишком медленно

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

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

Ошибка 500 на сайте, созданном на WordPress

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

Для начала проверьте, нужно ли обновить плагины. Часто устаревшие плагины перестают работать и вызывают проблемы работы сайта. Если все плагины обновлены, но 500 Internal Server Error остаётся, отключите все плагины, чтобы убедиться, что именно они мешают работе сайта. Как только станет понятно, что виноват один из плагинов, отключайте их по очереди, пока не найдёте тот, который нарушает работу сервера.

Как отключить плагин в WordPress

  1. 1.

    Войдите в панель управления WordPress. Если вы пользуетесь услугой REG.Site, войти в панель управления CMS можно прямо из Личного кабинета.

  2. 2.

    Перейдите во вкладку «Плагины» ― «Установленные».

  3. 3.

    Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:

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

Помогла ли вам статья?

Да

раз уже помогла

Что такое ошибка 500 и как её исправить

21 июня 2022 Ликбез Технологии

Инструкция для пользователей и владельцев ресурса.

Что означает код ошибки 500

Ошибка 500 (Internal Server Error) — это внутренняя проблема сервера. Она возникает, когда браузер или другой клиент отправляет серверу запрос, а тот не может его обработать.

Одна из самых частых причин появления ошибки 500 — это неправильный синтаксис файла .htaccess. Кроме того, она порой возникает после загрузки на сервер неверных CGI‑скриптов или установки некорректных прав доступа.

То есть в ошибке 500, как и в других ответах с кодом, который начинается на цифру 5, виноваты разработчики или администраторы сервера. Но никак не пользователи.

Что делать пользователю при ошибке 500

Если вы увидели ошибку 500 на чужом сайте, есть два варианта.

Подождать

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

Сообщить администратору ресурса

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

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

Что при ошибке 500 пользователю делать бессмысленно

Пример ошибки 500. Сервис GetStatusCode создан специально для тестирования различных ответов

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

  • перезагружать компьютер;
  • менять браузер;
  • переустанавливать ПО;
  • перезагружать роутер.

Что делать администратору при ошибке 500

Конечно, многое зависит от специфики вашего ресурса: на каком движке он работает, на каком хостинге располагается и что вы меняли на сайте в последнее время. Но всё же универсальные рекомендации в большинстве случаев помогают избавиться от ошибки 500.

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

Проверить синтаксис файла .htaccess

Если вы используете веб‑сервер Apache, то в корне вашего сайта или во вложенных папках, скорее всего, есть файл .htaccess. В нём хранятся серверные настройки.

В большинстве случаев ресурс будет работать и без этого файла. Попробуйте переименовать .htaccess, например, в .htaccess_, а затем снова зайти на главную страницу сайта.

Если ошибка 500 исчезла, значит, дело именно в . htaccess. Проверьте синтаксис этого файла — возможно, при редактировании вы где‑то вставили лишний символ или допустили опечатку. Если есть предыдущая версия настроек, верните её и посмотрите, появляется ли ошибка 500.

Иногда помогает закомментировать строку Options в .htaccess — вставить # в самом её начале. Если это не сработало, закомментируйте и другие строки, а затем последовательно убирайте #, чтобы найти проблемное место в файле.

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

Посмотреть лог ошибок

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

Хостеры обычно указывают, где по умолчанию хранятся логи и как получить к ним доступ из панели управления. Эти сведения можно найти в разделах помощи или FAQ (frequently asked questions — часто задаваемые вопросы) на сайте хостинга.

Выставить права для CGI‑скриптов

Если вы используете CGI‑скрипты, то сами файлы с ними и папки, в которых они лежат, должны иметь право доступа 0755 (drwxr‑xr‑x). Такая комбинация разрешает запись в них только для владельца. Остальные пользователи могут лишь читать эти файлы и запускать их.

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

Проверить содержимое CGI‑скриптов

Корректные CGI‑скрипты должны иметь окончания строк в формате Unix (\n), а не в формате Windows (\r\n). Чтобы сохранить правильный вариант, загружать код на большинство хостингов нужно по FTP в режиме ASCII. Если вы не знаете, какие настройки использовали, перезалейте скрипты и посмотрите, не исчезла ли ошибка 500.

Также CGI‑программы могут формировать неправильные HTTP‑заголовки ответа. В этом случае вы, скорее всего, увидите ошибки в логах.

Удалить или отключить недавно установленные плагины или компоненты

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

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

Оптимизировать скрипты

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

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

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

Увеличить объём оперативной памяти сервера

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

Попросить помощи

Обратитесь в службу поддержки хостера или на профильный форум. Поищите похожие ошибки на Stack Overflow — если там нет подходящей темы, создайте новую. Опишите ситуацию как можно более детально и будьте готовы пробовать различные варианты, которые вам предложат в комментариях.

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

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

Читайте также 💿⚙️💻

  • Что делать, если тормозит браузер
  • Как исправить ошибку CPU Fan Error при загрузке компьютера
  • Что делать, если DNS-сервер не отвечает
  • Что означает 404 Not Found и другие ошибки веб-страниц
  • Что делать, если пропал интернет на Windows

500 Внутренняя ошибка сервера | Апигей Эдж

Вы просматриваете документацию Apigee Edge .
Посмотреть Документация Apigee X.

Была ли полезна эта инструкция по устранению неполадок? Пожалуйста, дайте нам знать кликнув Отправить отзыв .

Videos

Посмотрите следующие видеоролики, чтобы узнать больше об устранении 500 внутренних ошибок сервера.

Видео Описание
Введение Содержит вводную информацию о 500 внутренних ошибках сервера и возможных причинах. Также демонстрирует ошибка внутреннего сервера 500 в реальном времени, а также шаги по устранению неполадок и устранению ошибки.
Обработка вызовов службы и ошибок извлечения переменных Демонстрирует две ошибки 500 Internal Server Errors, вызванные политиками Service Callout и Extract Variable и показывает, как устранять и устранять эти ошибки.
Обработка ошибок политики JavaScript Показывает внутреннюю ошибку сервера 500, вызванную политикой JavaScript, и шаги для устранения неполадок и устранения этой ошибки.
Обработка сбоев внутренних серверов Показывает пример 500 внутренних ошибок сервера, вызванных сбоем внутреннего сервера, и шаги для устранения ошибок.

Симптом

Клиентское приложение получает код состояния HTTP 500 с сообщением «Внутренняя ошибка сервера» в ответ на вызовы API. Внутренний сервер 500 ошибка может быть вызвана ошибкой во время выполнения какой-либо политики в Edge или ошибкой на целевом/внутреннем сервере.

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

Сообщения об ошибках

Вы можете получить следующее сообщение об ошибке:

 HTTP/1. 1 500 Внутренняя ошибка сервера 

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

 { "вина":{ "деталь": { "код ошибки": "steps.servicecallout.ExecutionFailed" }, "faultstring": "Выполнение вызова ServiceCallout WCSAuthServiceCallout не удалось. Причина: ResponseCode 400 рассматривается как ошибка" } } 

Возможные причины

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

приведены подробные инструкции по устранению неполадок
Причина Детали Для
Ошибка выполнения в пограничной политике Политика в прокси-сервере API может по какой-то причине не работать. пользователей Edge Private и Public Cloud
Ошибка внутреннего сервера По какой-то причине внутренний сервер может выйти из строя. пользователей Edge Private и Public Cloud

Ошибка выполнения в пограничной политике

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

Диагностика

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

Если у вас есть сеанс трассировки пользовательского интерфейса для ошибки, то:

  1. Убедитесь, что ошибка была вызвана выполнением политики. Дополнительные сведения см. в разделе Определение источника проблемы.
  2. Если ошибка произошла во время выполнения политики, продолжить. Если ошибка была вызвана бэкэнд-сервер, перейдите к разделу Ошибка на бэкэнд-сервере.
  3. Выберите запрос API, который завершается с ошибкой 500 Internal Server Error в трассировке.
  4. Изучите запрос и выберите конкретную политику, которая не удалась, или поток с именем «Ошибка», которая следует сразу за сбойной политикой в ​​трассировке.
  5. Получите дополнительные сведения об ошибке, проверив поле «ошибка» в разделе «Свойства». раздел или содержание ошибки.
  6. Используя собранные сведения об ошибке, попытайтесь определить ее причину.
Действия по диагностике только для пользователей частного облака

Если у вас нет сеанса трассировки пользовательского интерфейса, то:

  1. Убедитесь, что ошибка произошла во время выполнения политики. Дополнительные сведения см. в разделе Определение источника проблемы.
  2. Если ошибка была вызвана выполнением политики, продолжить. Если ошибка произошла во время политики выполнение, продолжайте. Если ошибка была вызвана внутренним сервером, перейдите к разделу Ошибка внутреннего сервера.
  3. Используйте журналы доступа NGINX, как описано в разделе Определение источник проблемы, чтобы определить сбойную политику в прокси-сервере API, а также уникальный идентификатор сообщения запроса
  4. Проверьте журналы обработчика сообщений ( /opt/apigee/var/log/edge-message-processor/logs/system. log ) и найдите уникальный идентификатор сообщения запроса в нем.
  5. Если вы найдете уникальный идентификатор сообщения запроса, посмотрите, можете ли вы получить дополнительную информацию о причина неудачи.

Решение

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

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

Если вам нужна дополнительная помощь в устранении неполадок 500 Internal Server Error или вы подозреваете что это проблема в Edge, свяжитесь с Apigee Поддерживать.

Пример 1: сбой в политике вызова службы из-за ошибки в серверной части server

Если вызов внутреннего сервера завершается сбоем в рамках политики Service Callout с какой-либо ошибкой, такой как как 4XX или 5XX, то это будет рассматриваться как 500 Internal Server Error.

  1. Вот пример сбоя внутренней службы с ошибкой 404 в службе. Политика вызова. Следующее сообщение об ошибке отправляется конечному пользователю:
     { "вина": { "деталь": { "код ошибки": "steps.servicecallout.ExecutionFailed" },"faultstring":"Выполнение ServiceCallout service_callout_v3_store_by_lat_lon не удалось. Причина: ResponseCode 404 рассматривается как ошибка" } } } 
  2. В следующем сеансе пользовательского интерфейса трассировки отображается код состояния 500, вызванный ошибкой в ​​службе. Политика вызова:

  3. В этом примере в свойстве «ошибка» указана причина политики вызова службы. неудача как "ResponseCode 404 рассматривается как ошибка". Эта ошибка может возникнуть, если ресурс, доступ к которому осуществляется через URL-адрес внутреннего сервера в политике вызова службы, не доступный.
  4. Проверьте доступность ресурса на внутреннем сервере. Он может быть недоступен временно/постоянно или он мог быть перемещен в другое место.
Пример 1 Решение
  1. Проверьте доступность ресурса на внутреннем сервере. Он может быть недоступен временно/постоянно или он мог быть перемещен в другое место.
  2. Исправьте URL-адрес внутреннего сервера в политике вызова службы, чтобы он указывал на действительный и существующий ресурс.
  3. Если ресурс недоступен только временно, попробуйте сделать запрос API после того, как ресурс доступен.

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

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

  2. Выберите сбойную политику извлечения переменных, прокрутите вниз и посмотрите на «Ошибка Содержание» раздел для более подробной информации:

  3. Содержимое ошибки указывает, что переменная "serviceCallout. oamCookieValidationResponse" недоступна в политику извлечения переменных. Как видно из названия переменной, она должна содержать ответ предыдущей политики вызова службы.
  4. Выберите политику Service Callout в трассировке, и вы можете обнаружить, что serviceCallout.oamCookieValidationResponse "переменная не была установлена. Это указывает, что вызов внутренней службы завершился неудачно, что привело к пустому ответу переменная.
  5. Несмотря на сбой политики вызова службы, выполнение политик после службы Политика вызова службы продолжается, поскольку установлен флаг «continueOnError» в политике вызова службы. в true, как показано ниже:
      Callout.OamCookieValidation <Свойства />  false  serviceCallout. oamCookieValidationResponse  <Свойства /> http://{URL}   
  6. Обратите внимание на уникальный идентификатор сообщения "X-Apigee.Message-ID" для этого конкретного API. запрос из трассировки следующим образом:
    1. Выберите фазу «Записанные аналитические данные» из запроса.
    2. Прокрутите вниз и обратите внимание на значение X-Apigee.Message-ID.

    Примечание: Следующие шаги могут быть выполнены только пользователей Edge Private Cloud .
  7. Просмотр журнала обработчика сообщений ( /opt/apigee/var/log/edge-message-processor/system.log ) и найдите уникальный идентификатор сообщения, записанный на шаге № 6. Следующее сообщение об ошибке наблюдалось для определенного API запрос:
     2017-05-05 07:48:18,653 org:myorg env:prod api:myapi rev:834 messageid:rrt-04984fed9e5ad3551-c-wo-32168-77563 [email protected] ОШИБКА HTTP. CLIENT - HTTPClient$Context.onTimeout() : ClientChannel[C:]@149081 useCount=1 bytesRead=0 bytesWritten=0 age=3002ms lastIO=3002ms ХХ.ХХ.ХХ.ХХ 

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

  8. Чтобы определить причину ошибки тайм-аута соединения, выполнил Команда telnet на внутренний сервер из процессора(ов) сообщений. телнет Команда выдала ошибку «Время ожидания подключения истекло», как показано ниже:
     телнет mybackend.domain.com 443 Попытка ХХ.ХХ.ХХ.ХХ... telnet: подключиться к адресу XX.XX.XX.XX: время ожидания соединения истекло 

    Обычно эта ошибка наблюдается при следующих обстоятельствах:

    • Когда внутренний сервер не настроен на разрешение трафика от Edge Message Процессоры.
    • Если внутренний сервер не прослушивает определенный порт.

    В приведенном выше примере, несмотря на сбой политики извлечения переменных, фактическая причина заключалась в том, что Edge не смог подключиться к внутреннему серверу в Service Callout политика. И причиной этого сбоя было то, что внутренний сервер не был настроен на разрешить трафик от пограничных процессоров сообщений.

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

Пример 2 Разрешение
  1. Соответствующим образом устраните причину ошибки или сбоя в политике извлечения переменных.
  2. В проиллюстрированном выше примере решение состояло в том, чтобы исправить конфигурацию сети, чтобы разрешите трафик от пограничных процессоров сообщений на ваш внутренний сервер. Это было сделано внесение в белый список IP-адресов обработчиков сообщений на определенном внутреннем сервере. Например, в Linux вы можете использовать iptables , чтобы разрешить трафик с IP-адреса обработчика сообщений на внутреннем сервере.
Пример 3: Сбой в политике JavaCallout

Теперь рассмотрим еще один пример, где 500 Internal Server Error возникает из-за ошибки в политике Java Callout и узнайте, как устранить неполадки и решить проблему.

  1. Следующая трассировка пользовательского интерфейса показывает код состояния 500 из-за ошибки в политике вызовов Java:

  2. Выберите поток с именем «Ошибка» , за которым следует сбойная политика вызовов Java. чтобы получить сведения об ошибке, как показано на рисунке ниже:

  3. В этом примере свойство «ошибка» в разделе «Свойства» показывает что сбой связан с использованием пароля с истекшим сроком действия при подключении к базе данных Oracle. из политики JavaCallout. Ваша собственная выноска Java будет вести себя по-другому и будет заполнить другое сообщение в ошибка свойство.
  4. Проверьте код политики JavaCallout и подтвердите правильную конфигурацию, которую необходимо использовал.
Пример 3 Разрешение

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

Ошибка внутреннего сервера

Внутренняя ошибка сервера 500 также может исходить от внутреннего сервера. Эта секция объясняет, как устранить проблему, если ошибка исходит от внутреннего сервера.

Диагностика

Действия по диагностике для всех пользователей

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

  1. Убедитесь, что ошибка была вызвана внутренним сервером. Дополнительные сведения см. в разделе Определение источника проблемы.
  2. Если ошибка была вызвана внутренним сервером, продолжайте. Если ошибка возникла во время выполнение политики, перейдите к Ошибка выполнения в Edge Политика.
  3. Выполните следующие шаги в зависимости от того, есть ли у вас доступ к сеансу трассировки для сбойный API или если серверная часть является сервером Node.js:

Если у вас нет сеанса трассировки для неудачного вызова API :

  1. Если трассировка пользовательского интерфейса недоступна для неудачного запроса, проверьте внутренний сервер logs, чтобы получить подробную информацию об ошибке.
  2. Если возможно, включите режим отладки на внутреннем сервере, чтобы получить более подробную информацию о ошибка и причина.

Если у вас есть сеанс трассировки для неудачного вызова API :

Если у вас есть сеанс трассировки, следующие шаги помогут вам диагностировать проблему.

  1. В инструменте трассировки выберите запрос API, который не удалось выполнить с 500 Internal Server Ошибка.
  2. Выберите «Ответ получен от целевого сервера» фаза от отказа Запрос API, как показано на рисунке ниже:

  3. Просмотрите раздел «Содержание ответа» , чтобы получить сведения об ошибке.

  4. В этом примере содержимое ответа, представляющее собой конверт SOAP, показывает строку ошибки как "Не авторизовано" сообщение . Наиболее вероятная причина этого проблема в том, что правильные учетные данные (имя пользователя/пароль, токен доступа и т. д.) не передаются внутренний сервер пользователем. Эту проблему можно решить, передав правильные учетные данные внутренний сервер.

Если бэкэнд является сервером Node.js:

  1. Если бэкэнд является бэкенд-сервером Node. js , проверьте журналы Node.js для конкретного API-прокси в пользовательском интерфейсе Edge ( пользователи общедоступного и частного облака могут проверьте журналы Node.js ). Если вы являетесь пользователем Edge Private Cloud , вы также можете проверить журналы вашего процессора сообщений ( /opt/apigee/var/log/edge-message-processor/logs/system.log ) для более подробной информации об ошибке.

    Параметр «Журналы NodeJS» в пользовательском интерфейсе Edge — вкладка «Обзор» прокси-сервера API

Разрешение
  1. После определения причины ошибки устраните ее на внутреннем сервере.
  2. Если это внутренний сервер Node.js:
    1. Убедитесь, что ошибка вызвана вашим пользовательским кодом, и устраните проблему, если это возможно.
    2. Если ошибка не вызвана вашим пользовательским кодом или вам нужна помощь, обратитесь Поддержка Апиги.

Если вам нужна дополнительная помощь в устранении неполадок 500 Internal Server Error или вы подозреваете что это проблема в Edge, свяжитесь с Apigee Поддерживать.

Определение источника проблемы

Используйте одну из следующих процедур, чтобы определить, возникла ли внутренняя ошибка сервера 500 во время выполнения политики в прокси-сервере API или на внутреннем сервере.

Использование трассировки в пользовательском интерфейсе

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

  1. Если проблема все еще актуальна, включите трассировку в пользовательском интерфейсе для затронутого API.
  2. После захвата трассировки выберите запрос API, который показывает код ответа как 500.
  3. Перейдите по всем этапам неудачного запроса API и проверьте, какой этап возвращает внутренняя ошибка сервера 500:
    1. Если ошибка возникает во время выполнения политики, перейдите к ошибке выполнения в пограничной политике.
    2. Если внутренний сервер ответил 500 Internal Server, перейдите к разделу Ошибка внутреннего сервера.

Использование мониторинга API

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

Мониторинг API позволяет быстро изолировать проблемные области для диагностики ошибок, проблем с производительностью и задержкой, а также их источника. таких как приложения для разработчиков, прокси-серверы API, серверные цели или платформа API.

Выполните пример сценария, который демонстрирует, как устранять проблемы 5xx с вашими API с помощью мониторинга API. Например, вы можете настроить оповещение, чтобы получать уведомления, когда число из 500 кодов состояния или ошибок steps.servicecallout.ExecutionFailed превышает определенный порог.

Использование доступа к NGINX Журналы

Примечание. Действия, описанные в этом разделе, предназначены для пользователей Edge Private Cloud. Только.

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

  1. Проверьте журналы доступа NGINX ( /opt/apigee/var/log/edge-router/nginx/ ~ ._access_log ).
  2. Поиск, есть ли ошибки 500 для конкретного прокси-сервера API в указанном месте. продолжительность.
  3. Если есть какие-либо ошибки 500, проверьте, является ли ошибка политикой или ошибкой целевого сервера, как показано ниже:

    Пример записи с ошибкой политики

    Образец записи, показывающий ошибку целевого сервера

  4. После того, как вы определили, является ли это ошибкой политики или целевого сервера:
    1. Перейти к ошибке выполнения в пограничной политике, если это ошибка политики.
    2. Перейти к ошибке на внутреннем сервере, если он является целью Ошибка сервера.

Что это означает и как это исправить

Устранение внутренней ошибки сервера HTTP 500 похоже на разгадывание тайны.

Вы не знаете, что именно произошло и почему это произошло — все, что вы знаете, это то, что что-то не так, и вам нужно это исправить.

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

Что такое внутренняя ошибка сервера HTTP 500?

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

Вот несколько примеров того, как страница с ошибкой 500 может выглядеть в вашем браузере:

Источник изображения

Источник изображения

HTTP 500

Проблемы с HTTP 5 браузер или интернет-соединение. Вместо этого они являются общим ответом, который улавливает любую необъяснимую ошибку сервера. Вы увидите внутреннюю ошибку сервера протокола передачи гипертекста (HTTP) 500, если ваша проблема с сервером не соответствует другому коду ошибки.

Другие распространенные коды ошибок

HTTP-коды показывают, как взаимодействуют ваш веб-браузер и веб-сайт. Вот некоторые другие распространенные коды ошибок, которые вы можете увидеть на своем веб-сайте:

HTTP 200

Это стандартный код состояния для хорошо работающих веб-сайтов.

HTTP 301

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

HTTP 302

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

HTTP 304

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

HTTP 403

Этот код исходит от сервера, когда вы пытаетесь получить доступ к ограниченному URL-адресу.

HTTP 404

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

HTTP 405

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

HTTP 410

Это постоянный код, который сообщает посетителям сайта, что страница, которую они ищут, не существует.

HTTP 413

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

HTTP 429

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

HTTP 503

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

Прочтите этот пост, чтобы получить исчерпывающий обзор кодов ошибок.

Возможные причины внутренней ошибки сервера 500

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

Некоторые возможные причины внутренней ошибки сервера 500 включают:

Поврежденный или поврежденный файл .Htaccess

Файл .htaccess представляет собой текстовый файл с важными инструкциями сервера. Эти инструкции сообщают вашему программному обеспечению о включении или отключении определенных функций. Они могут помочь вам защитить пароли в каталоге или ограничить доступ пользователей.

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

A Ошибка разрешений

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

Неисправные сторонние плагины или темы

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

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

Превышение предела памяти PHP

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

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

Ошибка HTTP 500 Совместимость с браузерами

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

Поскольку HTTP 500 является всеобъемлющей ошибкой, вы можете увидеть эту ошибку в любом браузере и в любой операционной системе .

Как может появиться ошибка HTTP 500

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

  • Внутренняя ошибка сервера
  • Страница не работает
  • 500 Внутренняя ошибка сервера
  • 500 Ошибка сервера
  • 500. Это ошибка.
  • HTTP 500.0 — внутренняя ошибка сервера
  • Ошибка 500
  • Код ошибки: 500
  • Сервер вернул 500 Internal Server Error
  • Временная ошибка (500)

Как исправить внутреннюю ошибку сервера 500

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

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

Если вы пытаетесь загрузить страницу с внутренней ошибкой сервера 500:

1. Обновите страницу.

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

2. Зайдите позже.

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

3. Удалите файлы cookie вашего браузера.

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

4. Вставьте свой URL-адрес на веб-сайт «Вниз для всех или только для меня».

Перейдите на сайт downforeveryoneorjustme.com и вставьте URL-адрес, где вы видите внутреннюю ошибку сервера. Вам либо сообщат, что веб-сайт недоступен только для вас, либо что веб-сайт недоступен для всех.

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

Если внутренняя ошибка сервера 500 находится на вашем собственном веб-сайте:

1. Деактивируйте плагин или тему.

Недавно активированное программное обеспечение, надстройки или сторонние сценарии могут конфликтовать с текущей конфигурацией сервера. Чтобы определить это, попробуйте (осторожно) деактивировать или удалить надстройки программного обеспечения по одному, чтобы определить, что именно вызывает внутреннюю ошибку сервера.

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

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

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

2. Используйте плагин, например WP Debugging, для определения проблемы.

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

Плагин отладки WP Debugging, например, поможет вам точно определить, что не так с вашим сайтом, что приведет к более быстрому исправлению.

Источник изображения

3. Убедитесь, что ваши настройки PHP настроены правильно.

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

Кроме того, неправильные разрешения для файла или папки со сценарием, например PHP или CGI, не позволят запустить сценарий. Проверьте свои разрешения и убедитесь, что вы правильно установили их на своем сервере.

4. Проверьте код файла .htaccess вашего сайта.

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

Чтобы найти файл .htaccess, откройте файлы своего веб-сайта через файловый менеджер, такой как cPanel, или через FTP/SFTP. Файл, вероятно, будет находиться в вашем public_html каталог. Есть большая вероятность, что ваш сервер по умолчанию скроет этот файл от просмотра, и вам нужно будет включить скрытые файлы, чтобы увидеть его.

Источник изображения

Ошибки кодирования в .htaccess и пользовательских сценариях также могут вызывать внутреннюю ошибку сервера HTTP 500.

5. Убедитесь, что новое программное обеспечение установлено правильно.

Наконец, проверьте, не удалось ли установить или обновить недавно установленное или обновленное программное обеспечение. Чтобы обновить программное обеспечение, посетите веб-сайт поставщика для получения инструкций.

В крайнем случае: обратитесь за помощью к администратору сервера

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


Learn more

Только новые статьи

Введите свой e-mail

Видео-курс

Blender для новичков

Ваше имя:Ваш E-Mail: