我目前正在构建一个node.js聊天机器人,然后将其部署在Heroku上。该应用程序使用Webhooks,必须位于服务器可以访问的公共URL上。因此,在本地计算机上运行服务器将无法正常工作。有没有办法远程调试我的应用程序?有什么技巧吗?
我目前正在构建一个node.js聊天机器人,然后将其部署在Heroku上。该应用程序使用Webhooks,必须位于服务器可以访问的公共URL上。因此,在本地计算机上运行服务器将无法正常工作。有没有办法远程调试我的应用程序?有什么技巧吗?
您确实可以使用免费的代理服务,例如ngrok在本地计算机上调试webhooks。
如果您想在Heroku上进行调试,可以使用heroku logs --tail
查看实时日志,或使用存储日志的插件服务。
我建议使用工具将公共URL连接到本地运行的应用程序实例。
一个简单易用的工具是ngrok。
如果您可以访问任何具有ssh和管理员权限的Internet面向服务器,并启用GatewayPorts yes
sshd配置,则可以通过ssh远程隧道进行操作。例如:
ssh -n -R 8080:localhost:3000 myserver.example.com
允许发送到 http://myserver.example.com:8080
的 Webhooks 隧道连接到监听端口 3000 的本地应用程序。
找到了一个更简单的解决方案。
安装 LogDNA
插件,然后运行应用程序并查看错误堆栈跟踪。
当您看到错误和发生错误的行时,很容易找到问题。
使用Papertrail插件或者也可以使用这里提到的日志选项https://devcenter.heroku.com/articles/logging。