2017-01-10 16 views
1

У меня есть скрипт js узла (Express js framework). У меня проблема с этим сервером только на производстве - на машине разработчика все хорошо.Случайно «502 плохой шлюз» на производстве, но это нормально на dev machine (express js)

На машине разработчика на производстве этот сервер работает в контейнере Docker. Контейнер, если от одного и того же изображения, конечно.

Проблемный сценарий:

  1. Старт сервера

  2. Сделать запрос:

    2.1. загрузка файла на сервер и сохранение на жестком диске

    2.2. отправьте запрос POST через curl в микросервис. Этот запрос отправляется в micorservice файл с 2.1 пункта. Это запрос POST. Мы используем библиотеку node-libcurl

    2.3. Через долгое время (несколько минут) микросервис возвращает ответ.

    2.4. Этот ответ сохраняется на сервере.

    2.5. Распечатайте шаблон.

На машинке для разработчиков этот запрос работает совершенно правильно: от пункта 2.1 до 2.5.

Но на производстве машины этот запрос работает правильно, все точки, кроме 2.5. Я знаю, что он работает хорошо на 2.1-2.4, потому что сервер регистрирует эту информацию.

Производство находится на https://www.linode.com/.

Вы знаете, что не так?

EDIT: Я забыл упомянуть, но сервер при производстве возвращает ошибку «502 плохих шлюзов» случайным образом для одного и того же файла и ответа микросервиса. Иногда это запросы в порядке

ответ

0

Я не знаю, как вы запускаете приложение в контейнере, но я предлагаю вам использовать навсегда (https://www.npmjs.com/package/forever), чтобы убедиться, что он не работает неактивно.

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

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