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

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

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

Un fichier package.json est requis dans le répertoire racine de votre application Node.js. Toute tentative de création/de déploiement d'un proxy sans package.json échouera au moment de la compilation.

Réception d'une erreur 502 : passerelle incorrecte du proxy

Une erreur "502 : passerelle incorrecte" peut se produire lorsque le processus ne parvient pas à démarrer. 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 une erreur 504 : délai avant expiration de la passerelle

Une erreur "504 : délai avant expiration de la passerelle" peut se produire lorsque l'application cible des cibles hébergées ne répond pas dans un 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 consulter les journaux d'exécution pour tout autre message d'erreur. Consultez également 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 de la requête de 60 secondes. Consultez également Quotas et limites dans la documentation GAE.

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

Si une erreur semblable à la suivante s'affiche 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: read-only file system

Les applications de cibles hébergées s'exécutent dans des conteneurs à l'aide d'un système de fichiers tmpfs. Seul le /tmp répertoire du système de fichiers peut être écrit par l'application de cibles hébergées. Malheureusement, les versions plus récentes de NPM tentent d'écrire dans /root/.npm pour son cache, ses journaux, etc. Pour résoudre ce problème, veuillez consulter le Modifier l'emplacement du cache NPM ou Exécuter votre application sans tâches NPM.