如何在 heroku 上远程调试 node.js 应用程序?
How to remote debug a node.js app on heroku?
我目前正在构建一个 node.js 聊天机器人,然后将其部署到 heroku 上。
该应用程序使用 webhooks,它必须位于服务器可以访问的 public URL 处。因此,运行 我机器上的本地服务器将无法工作。有什么方法可以远程调试我的应用程序吗?有什么建议吗?
您确实可以使用 ngrok 等免费代理服务在本地计算机上调试 webhooks。
如果你想在 Heroku 上调试它,你可以使用 heroku logs --tail
查看你的实时日志或使用存储日志的插件服务。
我会考虑使用工具将 public 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 的本地应用程序。
找到更简单的解决方案。
安装 LogDNA
插件,然后 运行 应用程序并查看错误堆栈跟踪。
那么当你看到错误以及发生在哪一行时,就很容易找到问题了。
使用 Papertrail 插件或者也可以使用此处提到的日志记录选项 https://devcenter.heroku.com/articles/logging。
我目前正在构建一个 node.js 聊天机器人,然后将其部署到 heroku 上。 该应用程序使用 webhooks,它必须位于服务器可以访问的 public URL 处。因此,运行 我机器上的本地服务器将无法工作。有什么方法可以远程调试我的应用程序吗?有什么建议吗?
您确实可以使用 ngrok 等免费代理服务在本地计算机上调试 webhooks。
如果你想在 Heroku 上调试它,你可以使用 heroku logs --tail
查看你的实时日志或使用存储日志的插件服务。
我会考虑使用工具将 public 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 的本地应用程序。
找到更简单的解决方案。
安装 LogDNA
插件,然后 运行 应用程序并查看错误堆栈跟踪。
那么当你看到错误以及发生在哪一行时,就很容易找到问题了。
使用 Papertrail 插件或者也可以使用此处提到的日志记录选项 https://devcenter.heroku.com/articles/logging。