Maison >développement back-end >Golang >Pourquoi mon application Golang sur Heroku affiche-t-elle une « erreur d'application » après une construction réussie ?
Déploiement d'une application Golang sur Heroku : réussite de la construction, mais erreur d'application
Lors du déploiement d'une application Golang sur Heroku avec prise en charge des dépendances Go, vous peut rencontrer une « erreur d’application » lors de la tentative d’accès aux points de terminaison. Ce problème survient lorsque le serveur Web n'est pas correctement lié au port approprié sur Heroku.
Les messages de votre journal d'application indiquent l'erreur suivante :
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
Cause :
Le problème est dû à la tentative de démarrage du serveur sur un port codé en dur (9000) au lieu de le lier au port spécifié par Heroku. Variable d'environnement $PORT.
Solution :
Pour résoudre ce problème, démarrez le serveur sur le bon port en utilisant la variable d'environnement $PORT. Remplacez votre code existant :
err := grace.Serve(":9000", context.ClearHandler(http.DefaultServeMux))
Par ce qui suit :
port := os.Getenv("PORT") if port == "" { port = "9000" // Default port if not specified } err := grace.Serve(":" + port, context.ClearHandler(http.DefaultServeMux))
Cette modification garantit que le serveur se lie correctement au port spécifié par Heroku, résolvant ainsi le problème « Erreur d'application ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!