Npm Ping в приложении Node.js.ICPM не отправляется при развертывании приложения в ядре приложений Google - PullRequest
0 голосов
/ 30 января 2019

У меня есть приложение для отслеживания билетов на Node.js. Я развернул его в Google App Engine, и оно доступно на: https://ticket -master-230204.appspot.com /

ВсеФункциональность работает, если я просто запустить его в облачной консоли.Или в Amazon Cloud 9 без развертывания.Однако после того, как я развернул его на App Engine, одна из функций перестала работать правильно.И я не могу понять, почему.

Так что если вы откроете любой из билетов: https://ticket -master-230204.appspot.com / tickets / 5c3c5201afce691354161e08

Вы увидите, что функциональность Ping не работает.По некоторым причинам мое приложение не может получить эхо-ответ.Еще раз, если не развернуто, все работает отлично.

Поэтому, когда вы нажимаете на билет, вы должны показать страницу для этого конкретного билета.То, что происходит в бэк-энде в это время, требует массива хостов (в основном любых имен хостов или IP-адресов) и выполнения тестов ping для всех них.Затем он возвращает результат, и на основе этого результата имена хостов красного или зеленого цвета.

Что я использую: 1) Узел js 2) Экспресс 3) Пинг 4) Паспорт 5) MOngo Итак, ниже приведен маршрут для страницы шоу.Я думаю, что это как-то связано с разрешением трафика, но я разрешил все в настройках. Настройки движка приложения Настройки брандмауэра

//4. "SHOW" ROUTE.
          app.get("/tickets/:id", async function (req, res) {
          let foundTicket = await Shift.findById(req.params.id).populate("comments").exec()
          let hosts = ( JSON.stringify(foundTicket.fqdn) )
          console.log(hosts)
          let host1 = hosts.substring(2,hosts.length-2).split(',')
          console.log(host1)
          let msg=[];
           await Promise.all(
            host1.map((host) => (
             ping.promise.probe(host)
                    .then(function (res) {
                        console.log(res);
                        msg.push(res);
                         console.log(msg);
                    })              
            ))
          )  ;

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

1 Ответ

0 голосов
/ 30 января 2019

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

...