如何远程调试heroku上的node.js应用程序?

时间:2016-08-29 20:40:57

标签: node.js heroku remote-debugging facebook-chatbot

我正在构建一个node.js聊天机器人,然后我将它部署在heroku上。 该应用程序使用webhooks,它必须位于服务器可以访问的公共URL。因此,在我的机器上本地运行服务器将无法正常工作。有没有办法可以远程调试我的应用程序?有什么提示吗?

4 个答案:

答案 0 :(得分:2)

您确实可以使用ngrok等免费代理服务在本地计算机上调试webhook。

如果要在Heroku上调试它,可以使用heroku logs --tail查看实时日志,或使用存储日志的插件服务。

答案 1 :(得分:2)

我会考虑使用工具将公共网址连接到本地运行的应用实例。

选项1:ngrok

一个简单的就是ngrok

选项2:ssh反向隧道

如果您可以访问任何具有ssh和admin权限的面向Internet的服务器以启用GatewayPorts yes sshd配置,则可以使用ssh远程隧道进行访问。例如:

ssh -n -R 8080:localhost:3000 myserver.example.com

允许发送到http://myserver.example.com:8080的webhook通过端口3000监听到本地应用程序。

More details on ssh tunneling can be found here

答案 2 :(得分:1)

找到了一个更简单的解决方案。

安装LogDNA插件,然后运行应用程序并查看错误堆栈跟踪。

然后当你看到错误以及它发生在哪一行时,很容易找到问题。

答案 3 :(得分:-1)

使用 Papertrail 插件或也可以使用此处提到的日志记录选项 https://devcenter.heroku.com/articles/logging