Katalog error runtime

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

Error di Apigee Edge

Saat permintaan API dibuat melalui Apigee Edge, komponen Apigee Edge, Router dan Pemroses Pesan, atau backend server dapat mengembalikan kesalahan ke aplikasi klien.

Error dari Pemroses Pesan

Pemroses Pesan adalah komponen inti Apigee Edge yang memproses kebijakan dan berinteraksi dengan server backend. Layanan ini dapat menampilkan error jika mendeteksi masalah seperti:

  • Masalah konektivitas jaringan, kegagalan handshake TLS, ketidaktersediaan server backend, kurangnya respons selama komunikasi dengan server backend
  • Kegagalan selama menjalankan kebijakan
  • Header HTTP, encoding, jalur, ketidakpatuhan terhadap spesifikasi HTTP tidak valid, melebihi batas produk, dll.:
    • Dengan permintaan HTTP yang dikirim oleh aplikasi klien
    • ATAU

    • Dengan respons HTTP yang dikirim oleh server backend
  • Dan masih banyak lagi

Contoh error dari Pemroses Pesan

Pemroses Pesan selalu mengembalikan kode status HTTP diikuti oleh pesan {i>error<i} bersama dengan kode error dalam format JSON seperti yang ditunjukkan di bawah ini:

Aplikasi klien mendapatkan kode respons seperti contoh berikut:

HTTP/1.1 414 Request-URI Too Long

Respons error dari Pemroses Pesan muncul dalam format berikut:

{
   "fault":{
      "faultstring":"request line size exceeding 7,168",
      "detail":{
         "errorcode":"protocol.http.TooBigLine"
      }
   }
}

Deskripsi kolom dalam respons error:

Kolom Deskripsi
faultstring Berisi pesan error yang menjelaskan kemungkinan penyebab error
errorcode Kode error (juga disebut sebagai kode error) yang terkait dengan kesalahan

Katalog error runtime

Katalog error ini memberikan semua informasi yang perlu Anda ketahui tentang runtime kode error (untuk error non-kebijakan) yang ditampilkan oleh Pesan Edge Apigee Komponen prosesor. Kode ini menyertakan informasi berikut untuk setiap kode error:

  • Kode Status HTTP
  • Pesan error
  • Kemungkinan penyebab error
  • Spesifikasi HTTP dan/atau batas produk terkait
  • Playbook dan video yang berisi petunjuk untuk mendiagnosis penyebab kesalahan dan solusi efektif yang dapat Anda terapkan untuk mengatasi sendiri kesalahan (jika tersedia)
  • Perbaikan yang dapat Anda terapkan untuk mengatasi sendiri error

Kategori kode error berikut dicakup:

Gunakan kotak Telusuri di bawah untuk memfilter tabel agar dapat menampilkan informasi di atas untuk kode error tertentu. Anda dapat menelusuri kode status atau konten apa pun di kolom mana pun pada tabel.

Kode error Deskripsi Perbaiki

flow.*

flow.APITimedOut

  • Kode status HTTP:
504 Gateway Timeout
  • Pesan error:
API timed out
  • Kemungkinan penyebab:

Error ini terjadi jika:

  • Server backend tidak merespons kembali dalam periode waktu tunggu yang dikonfigurasi pada properti api.timeout untuk Proxy API tertentu.
  • Sebuah kebijakan memerlukan waktu yang lama karena operasi yang intensif secara komputasi, atau performa buruk.

Catatan: Playbook ini berisi petunjuk untuk memecahkan masalah kode error messaging.adaptors.http.flow.GatewayTimeout; Namun, Anda dapat menggunakan playbook yang sama untuk memecahkan masalah kode error flow.APITimedOut.

PLAYBOOK

flow.SharedFlowNotFound

  • Kode status HTTP:
500 Internal Server Error
  • Pesan error:
Shared Flow {shared_flow_name} Not Found
  • Kemungkinan penyebab:

Error ini terjadi jika alur bersama tertentu:

  • Tidak ada
  • ATAU

  • Ada, tetapi tidak di-deploy
PLAYBOOK

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • Kode status HTTP:
404 Not Found
  • Pesan error:
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • Kemungkinan penyebab:

Error ini terjadi dalam salah satu skenario berikut:

  1. Proxy API spesifik adalah:
    1. TIDAK dikonfigurasi untuk menerima permintaan pada Host Virtual
    2. TIDAK dikonfigurasi untuk menerima permintaan di jalur tertentu yang digunakan dalam permintaan
    3. TIDAK di-deploy di lingkungan tertentu tempat Anda mencoba membuat permintaan API
    4. TIDAK di-deploy pada satu atau beberapa Pemroses Pesan
  2. Lingkungan spesifik di mana Anda mencoba membuat permintaan API tidak dimuat pada satu atau beberapa Pemroses Pesan
PLAYBOOK
Error ini juga dapat terjadi jika beberapa {i>host<i} virtual memiliki {i>host<i} yang sama alias dan nomor port. PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • Kode status HTTP:
400 Bad Request
  • Pesan error:
Decompression failure at request
  • Kemungkinan penyebab:

Error ini hanya terjadi jika:

  • Encoding yang ditentukan dalam header permintaan HTTP Content-Encoding valid dan didukung oleh Apigee Edge,
  • TETAPI

  • Format payload yang dikirim oleh klien sebagai bagian dari HTTP tidak cocok dengan format encoding yang ditentukan dalam Header Content-Encoding
PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Decompression failure at response
  • Kemungkinan penyebab:

Error ini hanya terjadi jika:

  • Encoding yang ditetapkan di server target/backend Header respons HTTP Content-Encoding valid dan didukung oleh Apigee Edge,
  • TETAPI

  • Format {i>payload<i} yang dikirim oleh server {i>backend<i}/target sebagai bagian dari respons HTTP tidak sesuai dengan format encoding yang ditentukan dalam Header Content-Encoding
PLAYBOOK

messaging.adaptors.http.flow.ErrorResponseCode

  • Kode status HTTP:
500

PLAYBOOK

VIDEO PANJANG

  • Pesan error:
Pesan Error dan format dapat bervariasi bergantung pada server backend terlepas dari implementasi layanan.
  • Kemungkinan penyebab:
Error ini terjadi jika server backend merespons dengan status kode 500 ke Apigee Edge.
  • Kode status HTTP:
503

PLAYBOOK

VIDEO PANJANG

  • Pesan error:
Pesan Error dan format dapat bervariasi bergantung pada server backend terlepas dari implementasi layanan.
  • Kemungkinan penyebab:
Error ini terjadi jika server backend merespons dengan status kode 503 ke Apigee Edge.
  • Kode status HTTP:
504 PLAYBOOK
  • Pesan error:
Pesan Error dan format dapat bervariasi bergantung pada server backend terlepas dari implementasi layanan.
  • Kemungkinan penyebab:
Error ini terjadi jika server backend merespons dengan status kode 504 ke Apigee Edge.

Catatan: Kode error messaging.adaptors.http.flow.ErrorResponseCode tidak ditampilkan sebagai bagian dari pesan {i>error<i} yang dikirim ke aplikasi klien. Ini adalah karena kode error ini disetel oleh Apigee Edge setiap kali server backend merespons dengan error dan salah satu dari 4XX atau 5XX kode status. Anda dapat melihat kode error ini di Pemantauan API, log akses NGINX, atau database analisis.

messaging.adaptors.http.flow.GatewayTimeout

  • Kode status HTTP:
504 Gateway Timeout
  • Pesan error:
Gateway Timeout
  • Kemungkinan penyebab:
Error ini terjadi jika server backend tidak merespons kembali ke Pemroses Pesan Apigee Edge dalam Periode waktu tunggu I/O yang dikonfigurasi pada Pemroses Pesan.
PLAYBOOK

messaging.adaptors.http.flow.LengthRequired

  • Kode status HTTP:
411 Length Required
  • Pesan error:
'Content-Length' is missing
  • Kemungkinan penyebab:

Error ini terjadi jika header Content-Length tidak diteruskan oleh aplikasi klien sebagai bagian dari POST dan PUT HTTP yang dikirim ke Apigee Edge.

Catatan: Permintaan yang gagal dengan perintah ini tidak dapat ditangkap di alat Pelacakan, karena Pemroses Pesan menjalankan pada fase awal, jauh sebelum memproses permintaan dan mengeksekusi kebijakan apa pun di Proxy API.

  • Spesifikasi HTTP:
Bagian RFC 3.3.2: Panjang Konten

Perbaiki

Untuk mengatasi error ini, lakukan langkah-langkah berikut:

  1. Memastikan aplikasi klien selalu meneruskan header Content-Length sebagai bagian dari POST HTTP dan PUT permintaan dikirim ke Apigee Edge. Contoh:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. Meskipun Anda meneruskan payload kosong dengan POST dan PUT, pastikan header Content-Length: 0 diteruskan. Contoh:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • Kode status HTTP:
503 Service Unavailable
  • Pesan error:
The Service is temporarily unavailable
  • Kemungkinan penyebab:

Error ini terjadi dalam salah satu skenario berikut, jika Anda menggunakan TargetServer di Apigee Edge:

  1. Resolusi DNS dari host server backend salah oleh server otorisasi khusus mengakibatkan alamat IP buruk yang mengarah ke error koneksi.
  2. Error waktu tunggu koneksi habis karena:
    1. Pembatasan {i>firewall<i} di server {i>backend<i} mencegah Apigee Edge agar tidak terhubung ke server backend.
    2. Masalah konektivitas jaringan antara Apigee Edge dan server backend.
  3. {i>Host<i} yang ditetapkan dalam TargetServer salah atau memiliki karakter yang tidak diinginkan (seperti spasi).

PLAYBOOK

VIDEO PANJANG

Error ini juga dapat terjadi jika health check dikonfigurasi untuk memantau kondisi. gagalnya pemeriksaan server target.

PLAYBOOK

VIDEO PANJANG

messaging.adaptors.http.flow.RequestTimeOut

  • Kode status HTTP:
408 Request Timeout
  • Pesan error:
Request timed out
  • Kemungkinan penyebab:
Error ini terjadi jika Pemroses Pesan Edge Apigee tidak menerima payload permintaan dari aplikasi klien untuk Periode waktu tunggu I/O yang dikonfigurasi pada komponen Pemroses Pesan.

Perbaiki

Pastikan aplikasi klien mengirimkan payload permintaan dalam Periode waktu tunggu I/O yang dikonfigurasi pada komponen Pemroses Pesan Apigee Edge.

messaging.adaptors.http.flow.ServiceUnavailable

  • Kode status HTTP:
503 Service Unavailable
  • Pesan error:
The Service is temporarily unavailable
  • Kemungkinan penyebab:

Error ini terjadi dalam salah satu skenario berikut:

  1. Resolusi DNS server backend yang salah {i>host<i} oleh server otorisasi khusus menghasilkan alamat IP buruk yang mengarahkan hingga terjadi error koneksi.
  2. Error waktu tunggu koneksi habis karena:
    1. Pembatasan {i>firewall<i} di server {i>backend<i} mencegah Apigee Edge agar tidak terhubung ke server backend.
    2. Masalah konektivitas jaringan antara Apigee Edge dan server backend.
  3. Host server target yang ditentukan di Endpoint Target telah salah atau memiliki karakter yang tidak diinginkan (seperti spasi).

PLAYBOOK

Kegagalan DNS:

VIDEO PANJANG

Konektivitas jaringan:

VIDEO PANJANG

Kesalahan ini juga dapat terjadi jika server backend menutup server sementara Pemroses Pesan masih mengirim payload permintaan ke server backend. PLAYBOOK

messaging.adaptors.http.flow.SslHandshakeFailed

  • Kode status HTTP:
503 Service Unavailable
  • Pesan error:
SSL Handshake failed {error_message}
  • Kemungkinan penyebab:

Error ini terjadi selama proses handshake SSL antara antarmuka Apigee Edge Pemroses Pesan dan server backend jika:

  1. Truststore Pemroses Pesan Apigee Edge:
    • Berisi rantai sertifikat yang tidak sesuai dengan server backend rantai sertifikat lengkap
    • ATAU

    • Tidak berisi rantai sertifikat lengkap server backend
  2. Rantai sertifikat yang ditampilkan oleh server backend:
    • Berisi Nama Domain yang Memenuhi Syarat Sepenuhnya (FQDN) yang tidak cocok dengan nama host yang ditentukan di endpoint target
    • ATAU

    • Berisi rantai sertifikat yang salah/tidak lengkap

PLAYBOOK

VIDEO PANJANG

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Unexpected EOF at target
  • Kemungkinan penyebab:

Error ini terjadi dalam salah satu skenario berikut:

  1. TargetServer tidak dikonfigurasi dengan benar untuk mendukung koneksi TLS/SSL di Apigee Edge.
  2. Server backend mungkin menutup koneksi secara tiba-tiba, sementara Apigee Edge menunggu respons dari server backend.
  3. Pertahankan waktu tunggu aktif yang tidak dikonfigurasi dengan benar di Apigee dan server backend.
PLAYBOOK

messaging.runtime.*

messaging.runtime.RouteFailed

  • Kode status HTTP:
500 Internal Server Error
  • Pesan error:
Unable to route the message to a TargetEndpoint
  • Kemungkinan penyebab:

Error ini terjadi jika Apigee Edge tidak dapat merutekan permintaan ke salah satu TargetEndpoint karena:

  • Tidak ada kondisi aturan rute (<RouteRule>) yang cocok dengan permintaan di proxy
  • DAN

  • Tidak ada aturan rute default yang ditentukan dalam ProxyEndpoint (yaitu, <RouteRule> tanpa kondisi apa pun)

Perbaiki

Untuk mengatasi error ini, ikuti petunjuk berikut:

  1. Tinjau aturan rute yang ditentukan di ProxyEndpoint Anda dan ubah untuk memastikan setidaknya ada satu kondisi aturan rute yang cocok dengan permintaan Anda.
  2. Menentukan aturan rute default tanpa kondisi adalah praktik yang baik jika Anda memiliki beberapa RouteRules.
  3. Pastikan aturan rute default selalu ditentukan terakhir dalam daftar Rute bersyarat karena aturan dievaluasi dari atas ke bawah di ProxyEndpoint.

Untuk mempelajari lebih lanjut cara menentukan kondisi <RouteRule> dalam ProxyEndpoint, lihat Target Bersyarat.

messaging.runtime.SenseRaiseFault

  • Kode status HTTP:
403 Forbidden
  • Pesan error:
Sense Fault
  • Kemungkinan penyebab:
Error ini terjadi jika permintaan API dibuat dari alamat IP klien tertentu yang diblokir sebagai bagian dari aturan Apigee Sense.

Perbaiki

Untuk mengatasi error ini, ikuti petunjuk berikut:

  1. Verifikasi bahwa Anda telah memblokir alamat IP klien tertentu dengan memeriksa aturan yang dikonfigurasi di Apigee Sense. Jika diblokir, maka hal itu menunjukkan bahwa aplikasi ini berfungsi sebagaimana mestinya.
  2. Jika alamat IP klien tertentu tidak diblokir, tetapi Anda masih mendapatkan error ini, lalu hubungi Dukungan Apigee Edge.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • Kode status HTTP:
500 Internal Server Error
  • Pesan error:
Bad Form Data
  • Kemungkinan penyebab:

Error ini terjadi jika dan hanya jika semua kondisi berikut terpenuhi:

  1. Permintaan HTTP yang dikirim oleh klien ke Apigee Edge berisi:
    • Content-Type: application/x-www-form-urlencoded, dan
    • Formulir data dengan tanda persen (%), atau persen tanda (%) diikuti dengan karakter heksadesimal tidak valid yang tidak dibolehkan sesuai dengan Formulir - Bagian 17.13.4.1.
  2. Proxy API di Apigee Edge membaca formulir tertentu berisi karakter yang tidak diizinkan menggunakan ExtractVariables atau kebijakan PrepareMessage dalam alur permintaan.
PLAYBOOK

protocol.http.DuplicateHeader

  • Kode status HTTP:
400 Bad Request
  • Pesan error:
Duplicate Header "{header_name}"
  • Kemungkinan penyebab:
Error ini terjadi jika header HTTP tertentu yang tidak diizinkan memiliki duplikat di Apigee Edge, muncul lebih dari sekali dengan nilai yang sama atau berbeda sebagai bagian dari Permintaan HTTP yang dikirim oleh aplikasi klien ke Apigee Edge.
  • Spesifikasi HTTP:
RFC 7230, bagian 3.2.2: Urutan Kolom
PLAYBOOK

protocol.http.EmptyHeaderName

  • Kode status HTTP:
400 Bad Request
  • Pesan error:
Header name cannot be empty
  • Kemungkinan penyebab:
Error ini terjadi jika nama header yang dikirim sebagai bagian dari permintaan oleh aplikasi klien ke Apigee Edge kosong.
  • Spesifikasi HTTP:
RFC 7230, bagian 3.2: Kolom Header

Perbaiki

Memastikan bahwa permintaan HTTP yang dikirim oleh aplikasi klien ke Apigee Edge selalu berisi nama header yang valid sesuai dengan RFC 7230, bagian 3.2: Kolom Header.

protocol.http.HeaderNameWithNonAsciiChar

  • Kode status HTTP:
400 Bad Request
  • Pesan error:
Header {header_name} contains non ascii character {character}
  • Kemungkinan penyebab:
Error ini terjadi jika nama header yang dikirim sebagai bagian dari permintaan HTTP oleh aplikasi klien ke Apigee Edge berisi karakter non-ASCII.
  • Spesifikasi HTTP:

RFC 7230, bagian 3.2: Kolom Header dan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom

Perbaiki

Pastikan permintaan HTTP klien dikirim ke Apigee Edge tidak berisi karakter non-ASCII dalam nama header sesuai dengan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom.

protocol.http.HeaderWithInvalidChar

  • Kode status HTTP:
400 Bad Request
  • Pesan error:
Header {header_name} contains invalid character {character}
  • Kemungkinan penyebab:
Error ini terjadi jika nama header yang dikirim sebagai bagian dari permintaan HTTP oleh aplikasi klien ke Apigee Edge berisi karakter yang tidak valid seperti karakter sama dengan (=), koma (,), titik koma (;), tab, CRLF, dan Baris baru.
  • Spesifikasi HTTP:

RFC 7230, bagian 3.2: Kolom Header dan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom

Perbaiki

Pastikan permintaan HTTP yang dikirim oleh aplikasi klien ke Apigee Edge tidak berisi karakter yang tidak valid di nama {i>header<i} sesuai dengan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom

protocol.http.InvalidPath

  • Kode status HTTP:
400 Bad Request
  • Pesan error:
Invalid path {path}
  • Kemungkinan penyebab:
Error ini terjadi jika jalur dalam URL permintaan HTTP yang dikirim oleh aplikasi klien ke Apigee Edge berisi karakter yang tidak diizinkan sesuai spesifikasi RFC 3986, bagian 3.3: Jalur.
  • Spesifikasi HTTP:

RFC 3986, bagian 3: Komponen Sintaksis dan RFC 3986, bagian 3.3: Jalur

Perbaiki

Pastikan jalur di URL permintaan HTTP yang dikirim oleh klien aplikasi ke Apigee Edge tidak berisi karakter apa pun yang tidak diizinkan sebagai sesuai dengan RFC 3986, bagian 3.3: Path.

protocol.http.TooBigBody

  • Kode status HTTP:
413 Request Entity Too Large
  • Pesan error:
Body buffer overflow
  • Kemungkinan penyebab:
Kesalahan ini terjadi jika ukuran {i>payload<i} yang dikirim oleh aplikasi klien sebagai bagian dari Permintaan HTTP ke Apigee Edge lebih besar dari batas yang diizinkan di Apigee Edge.
  • Batasan:
Batas Apigee Edge
PLAYBOOK

protocol.http.TooBigHeaders

  • Kode status HTTP:
431 Request Header Fields Too Large
  • Pesan error:
request headers size exceeding {limit}
  • Kemungkinan penyebab:
Ukuran total semua header permintaan yang dikirim oleh klien sebagai bagian dari permintaan HTTP ke Apigee Edge lebih besar dari yang diizinkan di Apigee Edge.
  • Spesifikasi HTTP:
RFC 6585, bagian 5: 431 Kolom Header Permintaan Terlalu Besar
  • Batasan:
Batas Edge Apigee
PLAYBOOK

protocol.http.TooBigLine

  • Kode status HTTP:
414 Request-URI Too Long
  • Pesan error:
request line size exceeding {limit}
  • Kemungkinan penyebab:
Error ini terjadi jika ukuran baris permintaan yang dikirim oleh aplikasi klien sebagai bagian dari permintaan HTTP ke Apigee Edge lebih besar dari batas yang diizinkan di Apigee Edge.
  • Batasan:
Batas Apigee Edge
PLAYBOOK

protocol.http.UnsupportedEncoding

  • Kode status HTTP:
415 Unsupported Media
  • Pesan error:
Unsupported Encoding "{encoding}"
  • Kemungkinan penyebab:
Error ini terjadi jika header Content-Encoding yang dikirim oleh klien sebagai bagian dari respons HTTP berisi format encoding/payload yang tidak didukung oleh Apigee Edge.
  • Spesifikasi HTTP:
RFC 7231, bagian 6.5.13: 415 Jenis Media yang Tidak Didukung
PLAYBOOK

protocol.http.* - Caused by target

protocol.http.BadPath

  • Kode status HTTP:
500 Internal Server Error
  • Pesan error:
Invalid request path
  • Kemungkinan penyebab:
Error ini terjadi jika URL permintaan server backend, yang dinyatakan oleh variabel alur target.url, berisi jalur yang dimulai dengan tanda tanya (?) bukan garis miring ke depan (/), yang tidak valid.
  • Spesifikasi HTTP:

RFC 3986, bagian 3: Komponen Sintaksis dan RFC 3986, bagian 3.3: Jalur

PLAYBOOK

protocol.http.DuplicateHeader

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Duplicate Header "{header_name}"
  • Kemungkinan penyebab:
Error ini terjadi jika header HTTP tertentu yang tidak diizinkan memiliki duplikat di Apigee Edge, muncul lebih dari sekali dengan nilai yang sama atau berbeda sebagai bagian dari respons HTTP yang dikirim oleh server backend ke Apigee Edge.
  • Spesifikasi HTTP:
RFC 7230, bagian 3.2.2: Urutan Kolom
PLAYBOOK

protocol.http.EmptyHeaderName

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Header name cannot be empty
  • Kemungkinan penyebab:
Error ini terjadi jika nama header yang dikirim oleh server backend sebagai bagian dari permintaan HTTP respons terhadap Apigee Edge kosong.
  • Spesifikasi HTTP:
RFC 7230, bagian 3.2: Kolom Header

Perbaiki

Pastikan respons HTTP yang dikirim oleh backend server ke Apigee Edge selalu berisi nama header yang valid sesuai dengan RFC 7230, bagian 3.2: Kolom Header.

protocol.http.EmptyPath

  • Kode status HTTP:
500 Internal Server Error
  • Pesan error:
Request path cannot be empty
  • Kemungkinan penyebab:
Error ini terjadi jika URL permintaan HTTP server backend, yang diwakili oleh variabel alur target.url, berisi jalur kosong.
  • Spesifikasi HTTP:

RFC 3986, bagian 3: Komponen Sintaksis dan RFC 3986, bagian 3.3: Jalur

PLAYBOOK

protocol.http.HeaderNameWithNonAsciiChar

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Header {header_name} contains non ascii character {character}
  • Kemungkinan penyebab:
Error ini terjadi jika nama header yang dikirim oleh server backend sebagai bagian dari respons HTTP terhadap Apigee Edge berisi karakter non-ASCII.
  • Spesifikasi HTTP:

RFC 7230, bagian 3.2: Kolom Header dan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom

Perbaiki

Pastikan respons HTTP server backend dikirim ke Apigee Edge tidak berisi karakter non-ASCII dalam nama header sesuai dengan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom.

protocol.http.HeaderWithInvalidChar

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Header {header_name} contains invalid character {character}
  • Kemungkinan penyebab:
Error ini terjadi jika nama header yang dikirim oleh server backend sebagai bagian dari respons HTTP, berisi karakter yang tidak valid seperti sama (=), koma (,), titik koma (;), tab, CRLF, dan karakter Newline.
  • Spesifikasi HTTP:

RFC 7230, bagian 3.2: Kolom Header dan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom

Perbaiki

Pastikan respons HTTP server backend yang dikirim ke Apigee Edge tidak berisi karakter tidak valid di nama header sesuai dengan RFC 7230, bagian 3.2.6: Komponen Nilai Kolom

protocol.http.ProxyTunnelCreationFailed

  • Kode status HTTP:
503 Service Unavailable
  • Pesan error:
Proxy refused to create tunnel with response status {status code}
  • Kemungkinan penyebab:

Error ini terjadi selama pembuatan tunnel antara Apigee Edge dan server backend oleh server proxy karena firewall, ACL (Daftar Kontrol Akses), DNS masalah, ketersediaan ketersediaan server backend, dll.

Catatan: Kode status dalam pesan error (faultstring) memberikan penyebab umum masalah tersebut.

PLAYBOOK

protocol.http.Response306Reserved

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Response Status code 306 is reserved, so can't be used.
  • Kemungkinan penyebab:

Kesalahan ini terjadi jika server {i> backend <i}merespons kembali dengan Kode status 306 ke Apigee Edge.

Kode status 306 ditentukan di versi sebelumnya Spesifikasi HTTP. Sesuai dengan spesifikasi HTTP saat ini, kode ini dicadangkan dan tidak boleh digunakan.

  • Spesifikasi HTTP:
RFC 7231, bagian 6.3.5: 306 Reserved

Perbaiki

Karena kode status 306 sudah dipesan, pastikan bahwa server backend Anda tidak menggunakan kode status ini saat mengirim terhadap Apigee Edge.

protocol.http.Response405WithoutAllowHeader

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Received 405 Response without Allow Header
  • Kemungkinan penyebab:
Server backend merespons dengan Kode status 405 Method Not Allowed tanpa header "Allow".
  • Spesifikasi HTTP:

RFC 7231, bagian 6.5.5: Metode 405 Tidak Diizinkan, dan RFC 7231, bagian 7.4.1: Mengizinkan

PLAYBOOK

protocol.http.ResponseWithBody

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Received {status_code} Response with message body
  • Kemungkinan penyebab:

Error ini terjadi jika respons HTTP dari server backend ke Apigee Edge 204 No Content atau 205 Reset Content, tetapi berisi isi respons dan/atau satu atau beberapa header berikut:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • Spesifikasi HTTP:

RFC 7231, bagian 6.3.5: 204 Tidak Ada Konten dan RFC 7231, bagian 6.3.6: 205 Reset Konten

PLAYBOOK

protocol.http.TooBigBody

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
Body buffer overflow
  • Kemungkinan penyebab:
Kesalahan ini terjadi jika ukuran {i>payload<i} yang dikirim oleh aplikasi klien sebagai bagian dari Permintaan HTTP ke Apigee Edge lebih besar dari batas yang diizinkan di Apigee Edge.
  • Batasan:
Batas Apigee Edge
PLAYBOOK

protocol.http.TooBigHeaders

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
response headers size exceeding {limit}
  • Kemungkinan penyebab:
Kesalahan ini terjadi jika ukuran total semua {i>header<i} respons yang dikirim oleh server backend sebagai bagian dari respons HTTP terhadap Apigee Edge lebih besar daripada batas yang diizinkan di Apigee Edge.
  • Batasan:
Batas Edge Apigee
PLAYBOOK

protocol.http.TooBigLine

  • Kode status HTTP:
502 Bad Gateway
  • Pesan error:
response line size exceeding {limit}
  • Kemungkinan penyebab:
Error ini terjadi jika ukuran baris respons yang dikirim oleh server backend bagian dari respons HTTP terhadap Apigee Edge lebih besar dari batas yang diizinkan di Apigee Edge.
  • Batasan:
Batas Apigee Edge
PLAYBOOK

protocol.http.UnsupportedEncoding

  • Kode status HTTP:
415 Unsupported Media
  • Pesan error:
Unsupported Encoding "{encoding}"
  • Kemungkinan penyebab:
Error ini terjadi jika header Content-Encoding yang dikirim oleh server backend sebagai bagian dari respons HTTP berisi encoding/payload format yang tidak didukung oleh Apigee Edge.
  • Spesifikasi HTTP:
RFC 7231, bagian 6.5.13: 415 Jenis Media yang Tidak Didukung
PLAYBOOK

security.util.*

security.util.KeyAliasNotFound

  • Kode status HTTP:
500 Internal Server Error
  • Pesan error:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • Kemungkinan penyebab:

Error ini terjadi jika KeyAlias tertentu dirujuk dalam TargetEndpoint atau TargetServer tidak ditemukan di Keystore tertentu.

Perbaiki

Memastikan KeyAlias ditentukan di TargetEndpoint atau TargetServer ada dan merupakan bagian dari Keystore tertentu.

security.util.TrustStoreWithNoCertificates

  • Kode status HTTP:
500 Internal Server Error
  • Pesan error:
TrustStore {truststore_name} has no certificates
  • Kemungkinan penyebab:

Error ini terjadi jika Truststore tertentu dirujuk di TargetEndpoint atau TargetServer tidak berisi sertifikat apa pun.

Perbaiki

Jika Anda ingin memvalidasi sertifikat server backend dan ingin menggunakan Truststore di TargetEndpoint atau TargetServer, memastikan bahwa Truststore berisi sertifikat yang valid dari server backend.