Je suis en train de construire un chatbot node.js que je déploie ensuite sur heroku. L'application utilise des webhooks qui doivent être à une URL publique que les serveurs peuvent atteindre. Par conséquent, l'exécution du serveur localement sur ma machine ne fonctionnera pas. Est-il possible de déboguer mon application à distance? Des conseils?Comment déboguer une application node.js à distance sur heroku?
Répondre
J'envisagerais d'utiliser un outil pour connecter des URL publiques à une instance de votre application s'exécutant localement.
Option 1: ngrok
facile serait ngrok
Option 2: ssh inverse tunnel
Si vous avez accès à un serveur face à Internet avec les droits de ssh et d'administration pour permettre à la GatewayPorts yes
sshd configuration, vous pouvez le faire avec le tunneling distant ssh. Par exemple:
ssh -n -R 8080:localhost:3000 myserver.example.com
permettra webhooks envoyés http://myserver.example.com:8080
tunnel à votre application locale écoute sur le port 3000.
Vous pouvez en effet déboguer des webhooks sur votre ordinateur local en utilisant un service proxy gratuit tel que ngrok.
Si vous souhaitez le déboguer sur Heroku, vous pouvez afficher vos journaux en temps réel en utilisant heroku logs --tail
ou utiliser un service complémentaire qui stocke les journaux.
trouvé une solution plus facile.
Installez le module complémentaire LogDNA
, puis exécutez l'application et consultez la trace de la pile d'erreurs. Puis, lorsque vous voyez l'erreur et la ligne sur laquelle elle s'est produite, il est assez facile de trouver le problème.