Node.js LinuxWindowsmacOS

Node.js: ECONNRESET и socket hang up

  • Обновлено
  • Чтение ≈ 1 минута

Краткий ответ

Соединение закрыто удалённой стороной: тайм-аут, перезапуск сервера или лимиты прокси. Добавьте повторные попытки и таймауты.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

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

Сообщение
socket hang up

Соединение закрыто удалённой стороной: тайм-аут, перезапуск сервера или лимиты прокси. Добавьте повторные попытки и таймауты.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Тайм-аут сервераПрокси закрывает длительный запрос.Сравните настройки тайм-аутов клиента и сервера.
ПерезапускСервис перезапущен во время соединения.Проверьте журнал приложения и перезапуска.
Keep-aliveПовторное использование разорванного keep-alive.Проверьте обработку ошибок клиента и агента.
ПроксиКорпоративный прокси сбрасывает соединение.Сверьте сетевые журналы и правила доверенной сети.

#Пошаговое решение

  1. Уточните, кто разорвал соединениеECONNRESET и socket hang up означают, что TCP-соединение было сброшено или закрыто до завершения операции. В Node.js найдите полный стек, удалённый адрес и время; различайте ошибку HTTP-клиента, собственного сервера и обратного прокси.
  2. Проверьте адрес и протоколВ терминале машины с приложением выполните curl -v https://example.org/ с настоящим адресом тестируемого сервиса (не отправляйте ключи доступа в командной строке). Сверьте HTTP/HTTPS, порт и сертификат; для TLS не устанавливайте rejectUnauthorized: false и не используйте -k как решение.
  3. Проверьте тайм-ауты и размер запросовЕсли разрыв только на длинных запросах, сопоставьте клиентский timeout, настройки Node.js и обратного прокси (Nginx/балансировщик) по журналам; длинные загрузки могут нарушать лимиты размеров тела. Изменяйте только подтверждённый предел и согласуйте его с администратором сервера.
  4. Добавьте корректную обработку разрываВ клиентском коде обрабатывайте событие error, прекращайте повторные небезопасные POST без идемпотентности. Повторите запрос с небольшим объёмом и запишите HTTP-код или новую ошибку. При продолжающихся сбросах сравните серверные журналы по тому же времени.

#Если проблема осталась

Если «Node.js: ECONNRESET и socket hang up» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.