Résoudre les problèmes liés aux cibles hébergées

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Échec de la compilation/du déploiement en raison de l'absence de package.json

Un fichier package.json doit être stocké dans le répertoire racine de votre application Node.js. Toute tentative de création ou de déploiement d'un proxy sans package.json échouera au moment de la compilation.

Réception d'un message 502 de passerelle incorrecte depuis le proxy

Une erreur "502 Passerelle incorrecte" peut se produire lorsque le processus ne démarre pas. Pour déboguer ce problème, consultez les journaux d'exécution et recherchez les messages d'erreur au démarrage. Une erreur courante est une commande de démarrage manquante ou non valide dans le package.json. Au minimum, package.json doit spécifier "start": "node ." dans la propriété scripts. Exemple :

{
  "name": "hello-world",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
   "start": "node ."
  },
  "author": "",
  "license": "",
  "description": "Hello World Application",
  "dependencies": {
  }
}

Le proxy se bloque et renvoie le délai d'expiration de la passerelle 504.

Une erreur "504 Expiration de la passerelle" peut se produire lorsque l'application cible des cibles hébergées ne répond pas dans le délai imparti. Vérifiez que votre application écoute sur le port défini dans la variable d'environnement PORT. Vous pouvez accéder à cette variable avec process.env.PORT dans votre application. Sinon, vous pouvez rechercher d'autres messages d'erreur dans les journaux d'exécution. Consultez également la section Variables d'environnement définies dans l'environnement d'exécution de l'application.

De plus, Google App Engine (GAE) impose un délai avant expiration des requêtes de 60 secondes. Consultez également la section Quotas et limites dans la documentation GAE.

Caractère non autorisé dans le chemin d'accès

Si vous rencontrez une erreur semblable à la suivante lorsque vous déployez un proxy avec des cibles hébergées, cela peut être dû au fait que le nom du proxy contient un espace. Vous ne devez pas utiliser d'espace dans un nom de proxy avec des cibles hébergées.

Illegal character in path at index 69:
https://my-domain.net/organizations/my-org/apps/MD5 Hash/revision/1733635923

npm ERR! rofs EROFS: système de fichiers en lecture seule

Les applications de cibles hébergées s'exécutent dans des conteneurs à l'aide d'un système de fichiers tmpfs. Seul le répertoire /tmp du système de fichiers est accessible en écriture par l'application Hosted Target. Malheureusement, les versions plus récentes de NPM tenteront d'écrire dans /root/.npm pour son cache, ses journaux, etc. Pour résoudre ce problème, consultez Modifier l'emplacement du cache de NPM ou Exécuter votre application sans NPM.