Risoluzione dei problemi dei target ospitati

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Creazione/deployment non riuscito a causa della mancanza di package.json

Un file package.json è obbligatorio nella directory principale dell'app Node.js. Qualsiasi tentativo di creare/fare il deployment di un proxy senza un file package.json non riuscirà in tempo di compilazione.

Ricezione di 502 Bad Gateway dal proxy

Un errore "502 Bad Gateway" può verificarsi quando il processo non riesce ad avviarsi. Per eseguire il debug, controlla i log di runtime e cerca i messaggi di errore all'avvio. Un errore comune è un comando di avvio mancante o non valido in the package.json. Come minimo, package.json deve specificare "start": "node ." nella proprietà scripts. Ad esempio:

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

Il proxy si blocca e restituisce 504 Gateway Timeout

Un errore "504 Gateway Timeout" può verificarsi quando l'app di destinazione dei target ospitati non risponde entro un limite di timeout. Verifica che l'applicazione sia in ascolto sulla porta impostata nella variabile di ambiente PORT. Puoi accedere a questa variabile con process.env.PORT nella tua applicazione. In alternativa, puoi controllare i log di runtime per eventuali altri messaggi di errore. Consulta anche Variabili di ambiente impostate nel runtime dell'applicazione.

Inoltre, Google App Engine (GAE) impone un timeout della richiesta di 60 secondi. Consulta anche Quote e limiti nella documentazione di GAE.

Carattere non valido nel percorso

Se viene visualizzato un errore simile al seguente quando esegui il deployment di un proxy con i target ospitati, la causa potrebbe essere che il nome del proxy contiene uno spazio. Non devi utilizzare uno spazio nel nome di un proxy con i target ospitati.

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

Le applicazioni dei target ospitati vengono eseguite nei container utilizzando un file system tmpfs. Solo la /tmp directory nel file system è scrivibile dall'applicazione dei target ospitati. Purtroppo, le versioni più recenti di NPM tenteranno di scrivere in /root/.npm per la cache, i log e così via. Per risolvere il problema, consulta la Modificare la posizione della cache NPM o Eseguire l'applicazione senza attività NPM.