Ошибка сервера 500.. Мой сайт работает нормально и выдает эти ошибки только изредка. Как я могу лучше диагностировать проблему?

#node.js #reactjs #express #azure-web-app-service #netlify

#node.js #reactjs #экспресс #azure-web-app-service #netlify

Вопрос:

Мой сайт работает нормально локально. Он даже отлично работает с моим бэкэндом, использующим веб-службы Azure, и с интерфейсом, использующим netlify, но иногда после нескольких вызовов api (я не перегружаю сервер, потому что эти вызовы api выполняются один за другим) Я получаю МНОГО ошибок, которые все одинаковы. внутренняя ошибка сервера 500. Я просматриваю журналы, и они дают мне несколько чисел 500 1013 109 329 2144 391

Ответ №1:

Причиной этого может быть

  • Сетевая проблема вашего сервера
  • Тайм-аут запроса Сервера

-Веб-приложение слишком долго отвечает на запрос / ответ при подключении к любому ресурсу (базе данных, другому серверу) и т. Д..

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

По умолчанию веб-приложения выгружаются, если они простаивают в течение некоторого периода времени. Это позволяет системе экономить ресурсы. В базовом или стандартном режиме вы можете включить «Всегда включено’, чтобы приложение загружалось постоянно.

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

Надеюсь, это поможет.

Комментарии:

1. Я добавил предложенную переменную env в свое приложение, но я все еще иногда получаю эти ошибки.

2. Я также выбрал Always On, но мое приложение зависнет при вызове API, и я получу ту же ошибку. Имейте в виду, что это происходит очень редко. Я просто обновляю страницу, и затем она нормально запускает api.

3. Еще одно замечание: если я подожду около 30 секунд, он, кажется, снова заработает сам по себе. Может ли это быть тайм-аут базы данных, а затем она повторно подключается?