2016-08-29 1 views
5

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

2

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.

More details on ssh tunneling can be found here

1

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.

1

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.