2016-08-29 53 views
5

我目前正在构建一个node.js聊天机器人,然后在heroku上部署。 该应用使用的webhooks必须位于服务器可以访问的公共URL。因此,在我的机器上本地运行服务器将不起作用。有没有一种方法可以远程调试我的应用程序?有小费吗?如何在heroku上远程调试node.js应用程序?

回答

2

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

选项1:ngrok

一个容易将ngrok

选项2:SSH反向隧道

如果你有机会用ssh和管理权限,以使任何面向Internet的服务器GatewayPorts yes sshd配置,你可以用ssh远程隧道来做到这一点。例如:

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

会允许发送到http://myserver.example.com:8080隧道到本地应用网络挂接侦听端口3000

More details on ssh tunneling can be found here

1

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

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

1

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

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

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

相关问题