Kami menyarankan Anda mengaktifkan log akses ALB untuk membantu mengidentifikasi tanggapan HTTP abnormal dari ALB secara cepat. Pertama, periksa apakah kode status ALB (status) dan kode status backend (upstream_status) dalam log akses sama. Jika sama, kemungkinan besar ALB meneruskan kode status tersebut langsung dari layanan backend. Dalam hal ini, kami menyarankan Anda memprioritaskan penyelidikan terhadap penyebab tanggapan abnormal dari layanan backend.
400 Bad Request
Format permintaan tidak valid.
Layanan backend langsung mengembalikan kode status 400: Periksa log akses. Jika nilai bidang
upstream_statusadalah400, ALB kemungkinan meneruskan kode status tersebut dari layanan backend. Anda harus melakukan pemecahan masalah pada layanan backend.Permintaan HTTP dikirim ke pendengar HTTPS: Pendengar HTTPS ALB menolak permintaan non-HTTPS dan mengembalikan kode status
400. Periksa apakah klien mengirim permintaan HTTP ke port HTTPS.Ukuran header permintaan melebihi batas: Ukuran maksimum header permintaan HTTP di ALB adalah 32 KB. Jika header permintaan melebihi batas ini, ALB mengembalikan kesalahan
400. Kami menyarankan Anda menyesuaikan ukuran header permintaan HTTP.Permintaan tidak lengkap: Klien menutup koneksi sebelum permintaan HTTP sepenuhnya dikirim. Anda dapat menangkap paket di sisi klien untuk menganalisis penyebabnya.
Format header permintaan tidak valid: Misalnya, nilai
Content-Lengthtidak sesuai dengan panjang badan permintaan yang sebenarnya. Kami menyarankan Anda menangkap paket di sisi klien untuk menganalisis format permintaan HTTP dan membandingkannya dengan permintaan normal.
405 Method Not Allowed
Metode permintaan tidak didukung.
Batasan khusus ALB: ALB tidak mendukung metode permintaan
TRACE. Kami menyarankan Anda menggunakan metode lain.Pembatasan layanan backend: Kemampuan untuk memproses metode permintaan selain
TRACEbergantung pada apakah server backend mendukungnya. Anda dapat menjalankan perintahcurl -X METHOD http://<backend_server_IP>:<service_port>untuk memverifikasi, di manaMETHODadalah metode permintaan yang digunakan klien.
408 Request Timeout
ALB menutup koneksi karena permintaan melebihi waktu tunggu.
Pengiriman data lambat dari klien: Klien hanya mengirim data sebagian, seperti
HTTP HeadertanpaHTTP Body, dalam periode waktu tunggu permintaan koneksi pendengar (default 60 detik). Kami menyarankan Anda menangkap paket untuk memecahkan masalah bottleneck kinerja atau isu lain di sisi klien. Jika layanan Anda memerlukan waktu transmisi permintaan yang lebih lama, Anda dapat meningkatkan waktu tunggu permintaan koneksi.Kualitas jaringan buruk antara klien dan ALB: Round Trip Time (RTT) TCP tinggi atau terjadi masalah jaringan seperti kehilangan paket. Anda dapat memeriksa bidang
request_timedantcpinfo_rttdalam log akses atau melakukan diagnostik jaringan di sisi klien.Pembatasan bandwidth instans ALB: Lalu lintas berlebihan ke instans ALB memicu pembatasan bandwidth dan kehilangan paket. Anda dapat menggunakan Cloud Monitor untuk memeriksa metrik
bandwidth keluardanDropped Connections.
414 URI Too Long
Panjang URI permintaan melebihi batas, sehingga ALB atau server backend menolak permintaan tersebut.
Batasan khusus ALB: ALB mensyaratkan panjang URI permintaan tidak melebihi 32 KB. Jika batas ini dilampaui, ALB mengembalikan kode status
414. Kami menyarankan Anda memperpendek URI. Untuk mentransfer data dalam jumlah besar, Anda dapat menggunakan metodePOSTdan mentransfer data dalam badan permintaan. ALB mendukung badan permintaanPOSThingga 50 GB.Batasan layanan backend: Jika URI tidak melebihi batas ALB tetapi layanan backend memiliki batasan panjang yang lebih ketat, ALB akan meneruskan kode status
414yang dikembalikan oleh backend. Anda harus melakukan pemecahan masalah pada layanan backend.
463
Terdapat loop permintaan dalam jalur permintaan. Saat permintaan melewati ALB, sistem menambahkan bidang ALICLOUD-ALB-TRACE ke header HTTP. Nilai bidang ini adalah nilai hash 16-bit yang dihasilkan berdasarkan ID aturan. Jika ID aturan duplikat terdeteksi atau jumlah bidang ALICLOUD-ALB-TRACE melebihi 16, loop teridentifikasi. ALB kemudian menghentikan penerusan permintaan untuk mencegah kehabisan sumber daya akibat badai jaringan dan mengembalikan kode status 463.
Konfigurasi layanan backend salah: Layanan backend dikonfigurasi secara salah, sehingga menyebabkan permintaan dikirim kembali ke ALB dan membentuk loop. Periksa konfigurasi layanan backend ALB.
Cacat dalam desain arsitektur jaringan: Misalnya, jalur penerusan satu permintaan berisi beberapa instans Server Load Balancer (SLB). Anda harus mengoptimalkan arsitektur jaringan.
499 Client Closed Request
Klien menutup koneksi.
Kualitas jaringan buruk dari klien ke ALB: Round Trip Time (RTT) TCP tinggi atau terdapat masalah jaringan seperti kehilangan paket. Anda dapat memeriksa bidang
request_timedantcpinfo_rttdalam log akses atau melakukan diagnostik jaringan di sisi klien.Pembatasan bandwidth instans ALB: Lalu lintas berlebihan ke instans ALB memicu pembatasan bandwidth dan kehilangan paket. Anda dapat menggunakan Cloud Monitor untuk memeriksa metrik
bandwidth keluardanDropped Connections.Waktu pemrosesan permintaan backend yang lama: Waktu pemrosesan permintaan backend melebihi waktu tunggu permintaan klien. Periksa bidang
upstream_response_timedalam log akses. Nilai bidang ini adalah waktu pemrosesan permintaan backend. Jika nilai ini secara konsisten tinggi, periksa layanan backend terhadap bottleneck kinerja.Waktu tunggu permintaan sisi klien terlalu singkat: Klien menutup koneksi karena waktu habis sebelum seluruh permintaan dikirim. Anda dapat memeriksa bidang
request_timedalam log akses. Bidang ini merepresentasikan total waktu permintaan klien. Anda dapat menggunakan nilai bidang ini untuk menetapkan waktu tunggu permintaan klien yang lebih tepat.Masalah klien yang tidak diketahui: Klien menutup koneksi sebelum permintaan selesai. Periksa apakah klien memiliki perilaku menutup koneksi secara prematur.
500 Internal Server Error
Terjadi kesalahan internal pada server backend, sehingga permintaan tidak dapat diproses.
Layanan backend langsung mengembalikan kesalahan 500: Periksa log akses. Jika nilai bidang
upstream_statusadalah500, ALB kemungkinan meneruskan kode status tersebut dari layanan backend. Anda harus melakukan pemecahan masalah pada layanan backend.Server backend menutup koneksi secara tak terduga: Server backend menutup koneksi secara tak terduga sebelum mengirimkan tanggapan lengkap. Anda dapat menangkap paket di server backend untuk menyelidiki penyebab penutupan koneksi yang tak terduga.
502 Bad Gateway
Setelah pendengar HTTP atau HTTPS menerima permintaan klien, ALB tidak dapat meneruskan permintaan ke server backend atau tidak dapat menerima tanggapan dari server backend.
Layanan backend langsung mengembalikan kesalahan 502: Periksa log akses. Jika nilai bidang
upstream_statusadalah502, ALB kemungkinan meneruskan kode status tersebut dari layanan backend. Anda harus melakukan pemecahan masalah pada layanan backend.Server backend mengembalikan kode status kesalahan lain: Misalnya, server backend mungkin mengembalikan kesalahan
504atau444, tetapi ALB mengembalikan kesalahan502. Kami menyarankan Anda memeriksa bidangstatusdanupstream_statusdalam log akses dan melakukan pemecahan masalah berdasarkan kode status backend.Komunikasi TCP abnormal antara ALB dan server backend: Periksa apakah layanan backend dalam kondisi normal dan apakah port layanan sedang mendengarkan dengan benar. Anda juga dapat menangkap paket untuk memeriksa apakah handshake TCP berjalan normal.
Backlog server backend penuh: Hal ini menyebabkan permintaan koneksi baru ditolak atau dibuang. Anda dapat menjalankan perintah
netstat -s | grep -i listendi server backend untuk memeriksa jumlahdrop.Panjang pesan yang dikirim klien melebihi MTU server backend: Pemeriksaan kesehatan atau paket dengan pesan lebih pendek diproses secara normal, tetapi paket dengan pesan lebih panjang tidak. Anda dapat menangkap paket di server backend untuk menganalisis apakah panjang pesan memenuhi persyaratan.
Format tidak valid atau header HTTP ilegal dalam tanggapan server backend: Anda dapat menangkap paket di server backend untuk menganalisis apakah format pesan tanggapan sesuai standar.
Server backend tidak memproses permintaan tepat waktu: Periksa log server backend dan lihat penggunaan CPU serta memori-nya.
503 Service Temporarily Unavailable
Server sementara tidak tersedia, biasanya karena lalu lintas melebihi batas atau layanan backend tidak tersedia.
Layanan backend langsung mengembalikan kesalahan 503: Periksa log akses. Jika nilai bidang
upstream_statusadalah503, ALB kemungkinan meneruskan kode status tersebut dari layanan backend. Anda harus melakukan pemecahan masalah pada layanan backend.Permintaan klien memicu pembatasan ALB:
Lihat metrik
Requests per seconddi Cloud Monitor.Cloud Monitor menampilkan data per menit, yang mungkin tidak mencerminkan saat batas per detik dilampaui. Anda dapat memeriksa log akses. Jika nilai bidang
upstream_statusadalah-, permintaan tidak dikirim ke server backend.Jika header paket tanggapan berisi bidang
ALB-QPS-Limited:Limited, permintaan tersebut memicu batas laju ALB.
Akses IP langsung ke instans ALB atau resolusi DNS abnormal: Hal ini dapat menyebabkan lalu lintas terkonsentrasi pada beberapa alamat IP dan melebihi batas. Kami menyarankan Anda mengakses instans ALB menggunakan nama domain-nya dan memastikan resolusi DNS berjalan normal. Untuk informasi selengkapnya, lihat Mengonfigurasi rekaman CNAME untuk ALB.
Pendengar tidak memiliki server backend yang dikonfigurasi, atau bobot server backend yang dikonfigurasi adalah
0.
504 Gateway Timeout
Tanggapan server backend melebihi waktu tunggu.
Layanan backend langsung mengembalikan kesalahan 504: Periksa log akses. Jika nilai bidang
upstream_statusadalah504, ALB kemungkinan meneruskan kode status tersebut dari layanan backend. Anda harus melakukan pemecahan masalah pada layanan backend.Koneksi ke server backend melebihi waktu tunggu: Periode waktu tunggu adalah 5 detik secara default dan tidak dapat diubah. Kami menyarankan Anda menangkap paket untuk menentukan penyebab waktu tunggu tanggapan.
Tanggapan server backend melebihi waktu tunggu: Periode waktu tunggu tanggapan adalah 60 detik secara default. Anda dapat memeriksa metrik
UpstreamResponseTimedi Cloud Monitor dan bidangupstream_response_timedalam log akses untuk menentukan apakah server backend telah melebihi waktu tunggu.