如何在Heroku上远程调试Node.js应用程序?

6

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

4个回答

2

您确实可以使用免费的代理服务,例如ngrok在本地计算机上调试webhooks。

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


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 的 Webhooks 隧道连接到监听端口 3000 的本地应用程序。

更多有关 SSH 隧道连接的详细信息请参见此处


1

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

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

当您看到错误和发生错误的行时,很容易找到问题。


-1

欢迎提供解决方案的链接,但请确保您的答案即使没有链接也是有用的:在链接周围添加上下文,以便其他用户了解它的内容和原因,然后引用您链接的页面中最相关的部分,以防目标页面不可用。仅仅提供链接的答案可能会被删除 - Sourcerer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接