Pemecahan masalah Target yang Dihosting

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Build/Deploy gagal karena package.json tidak ada

File package.json diperlukan dalam direktori utama aplikasi Node.js Anda. Setiap upaya untuk membuat/men-deploy proxy tanpa package.json akan gagal pada waktu build.

Menerima Gateway Buruk 502 dari Proxy

Pesan error "502 Bad Gateway" dapat terjadi jika proses gagal dimulai. Untuk melakukan debug pada tahap ini, periksa log runtime dan cari pesan error saat memulai. Error yang umumnya terjadi adalah perintah awal yang tidak ada atau tidak valid dalam package.json. Setidaknya package.json harus menentukan "start": "node ." di properti scripts. Contoh:

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

Proxy Hang dan Menampilkan Waktu Tunggu Gateway 504

Error "504 Gateway Timeout" dapat terjadi saat aplikasi target Hosted Targets tidak merespons dalam batas waktu tunggu. Periksa untuk memastikan aplikasi Anda memproses port yang ditetapkan dalam variabel lingkungan PORT. Anda dapat mengakses variabel ini dengan process.env.PORT di aplikasi Anda. Jika tidak, Anda dapat memeriksa log runtime untuk melihat pesan error lainnya. Lihat juga Variabel lingkungan yang ditetapkan dalam runtime aplikasi.

Google App Engine (GAE) juga memberlakukan waktu tunggu permintaan selama 60 detik. Lihat juga Kuota dan batas dalam dokumentasi GAE.

Karakter terlarang di jalur

Jika Anda melihat error yang serupa dengan berikut ini saat men-deploy proxy dengan Target yang Dihosting, penyebabnya mungkin karena nama proxy berisi spasi. Anda tidak boleh menggunakan spasi dalam nama proxy dengan Target yang Dihosting.

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

npm ERR! rofs EROFS: sistem file hanya baca

Aplikasi Target yang Dihosting berjalan dalam container menggunakan sistem file tmpfs. Hanya direktori /tmp dalam sistem file yang dapat ditulis oleh aplikasi Hosted Target. Sayangnya, versi NPM yang lebih baru akan mencoba menulis ke /root/.npm untuk cache, log, dll. Untuk mengatasinya, lihat Mengubah lokasi cache NPM atau Menjalankan aplikasi Anda tanpa tugas NPM.