【问题标题】:unable to ping an IP from heroku无法从heroku ping IP
【发布时间】:2018-10-05 19:15:59
【问题描述】:

我正在尝试 ping 到一个 IP ...我制作了这个应用程序,它在 localhost 上运行良好

getAsync('ping google.com').then(data => {
       res.send(data);   
    });

在本地我得到

数据包:发送 = 4,接收 = 4,丢失 = 0(0% 丢失),

但是当此代码托管到 heroku ... 日志中的错误如下

{ Error: Command failed: ping google.com
  /bin/sh: 1: ping: not found
  at ChildProcess.exithandler (child_process.js:275:12)

我正在制作这个应用程序,因为我想远程运行该 IP 上机器上的 .exe

【问题讨论】:

  • Heroku 可能不支持其 shell 中的 ping 命令
  • 但是 ping 在 windows 和 linux 中很麻烦 :( 我也尝试过使用 npm ping 包....错误仍然相同
  • 好的.....如果你能回答我如何从安装在 IP 上的 heroku 运行 .exe 文件
  • 我认为您无法运行实际的 .exe。 Heroku 不是使用 Linux 吗?无论哪种方式,我都建议您查看 Digital Ocean,因为 Heroku 有很多限制,并且并不是真正为您想要做的事情而设计的。

标签: node.js heroku


【解决方案1】:

192.168.x.x 是Private network IP 地址。 您将无法从您的专用网络(LAN 或您所在的任何网络)外部 ping 它们。

【讨论】:

  • ping 不在 heroku 的默认构建包中。所以你要么需要找到并安装一个 buildpack,要么创建这样一个 buildpack,或者在你的 node.js 应用程序中实现 ping 而不依赖于系统 ping,例如与npmjs.com/package/net-ping
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
相关资源
最近更新 更多