All Products
Search
Document Center

Server Load Balancer:Kode status error ALB

Last Updated:Mar 21, 2026

Aktifkan log akses ALB untuk mengidentifikasi error HTTP dari Application Load Balancer (ALB) secara cepat. Periksa apakah kode status ALB (pada field status) dan kode status upstream (pada field upstream_status) dalam log akses sama. Jika nilainya sesuai, kode status tersebut diteruskan dari Layanan Backend. Utamakan troubleshooting pada Layanan Backend.

HTTP 400: Bad request

Menunjukkan permintaan yang tidak valid.

  • Server Backend langsung mengembalikan kode status 400: Periksa log akses. Jika nilai field upstream_status adalah 400, berarti ALB meneruskan kode status tersebut dari Server Backend. Lakukan troubleshooting pada Layanan Backend.

  • Permintaan HTTP dikirim ke Listener HTTPS: Listener HTTPS pada instans ALB menolak permintaan non-HTTPS dan mengembalikan kode status 400. Pastikan client tidak mengirim permintaan HTTP ke port HTTPS.

  • Ukuran Header Permintaan melebihi batas: ALB mensyaratkan setiap Header Permintaan HTTP tidak boleh lebih besar dari 32 KB. Jika batas ini dilampaui, ALB akan mengembalikan kode status 400. Kurangi ukuran Header Permintaan.

  • Permintaan tidak terkirim sepenuhnya: Client menutup koneksi sebelum permintaan HTTP terkirim seluruhnya. Lakukan pengambilan paket di sisi client untuk menentukan penyebab terminasi dini.

  • Header Permintaan tidak valid: Misalnya, nilai header Content-Length tidak sesuai dengan ukuran aktual Body Permintaan. Lakukan pengambilan paket di sisi client untuk menganalisis format permintaan HTTP dan bandingkan dengan permintaan yang valid.

HTTP 405: Method not allowed

Menunjukkan metode permintaan yang tidak didukung.

  • Batasan ALB: ALB tidak mendukung metode permintaan TRACE. Gunakan metode lain.

  • Batasan Layanan Backend: Selain TRACE, dukungan terhadap metode permintaan lain bergantung pada Server Backend. Untuk memverifikasi, jalankan perintah berikut guna menguji koneksi langsung ke Server Backend: curl -X METHOD http://<Backend-Server-IP>:<Port>, dengan METHOD sebagai metode permintaan yang digunakan oleh client.

HTTP 408: Request timeout

Terjadi ketika permintaan mengalami timeout, sehingga ALB menutup koneksi.

  • Pengiriman data lambat dari client: Dalam periode timeout permintaan client ke ALB (default 60 detik), client hanya mengirim sebagian data, misalnya mengirim Request Header tetapi tidak mengirim Request Body. Lakukan pengambilan paket di sisi client untuk memeriksa adanya bottleneck performa atau error lainnya.

  • Kualitas jaringan buruk antara client dan ALB: Round-Trip Time (RTT) TCP tinggi atau terjadi kehilangan paket di jaringan. Periksa field request_time dan tcpinfo_rtt dalam log akses, atau lakukan diagnostik jaringan di sisi client.

  • Pembatasan bandwidth pada instans ALB: Trafik ke instans ALB melebihi batas bandwidth, sehingga memicu throttling dan kehilangan paket. Gunakan CloudMonitor untuk memeriksa metrik outbound bandwidth dan Dropped Connections.

HTTP 414: URI too long

Menunjukkan URI permintaan terlalu panjang dan ditolak oleh ALB atau Server Backend.

  • Batasan ALB: ALB mensyaratkan URI permintaan tidak boleh lebih panjang dari 32 KB. Jika batas ini dilampaui, ALB akan mengembalikan kode status 414. Perpendek URI tersebut. Untuk mentransfer data dalam jumlah besar, gunakan metode POST dan letakkan data tersebut di dalam Request Body. ALB mendukung Request Body POST hingga 50 GB.

  • Batasan Layanan Backend: URI tidak melebihi batas ALB tetapi melebihi batas yang lebih ketat yang ditetapkan pada Layanan Backend. Dalam skenario ini, ALB meneruskan kode status 414 yang dikembalikan oleh Server Backend. Lakukan troubleshooting pada Layanan Backend.

HTTP 463: Request loop detected

Kode status khusus ini menunjukkan terdeteksinya loop pengalihan dalam jalur permintaan. Saat mengalihkan permintaan, ALB menambahkan field ALICLOUD-ALB-TRACE ke dalam Request Header. Nilai field ini merupakan hash 16 karakter yang dihasilkan dari ID aturan pengalihan. ALB mendeteksi loop jika ditemukan ID aturan duplikat atau jumlah field ALICLOUD-ALB-TRACE melebihi 16. Ketika loop terdeteksi, ALB menghentikan pengalihan permintaan untuk mencegah kehabisan sumber daya akibat badai jaringan dan mengembalikan kode status 463.

  • Kesalahan konfigurasi Layanan Backend: Konfigurasi Layanan Backend yang salah mengarahkan permintaan kembali ke instans ALB yang sama, sehingga menciptakan loop. Tinjau dan perbaiki konfigurasi Layanan Backend untuk instans ALB tersebut.

  • Cacat dalam desain arsitektur jaringan: Misalnya, satu jalur permintaan melibatkan beberapa instans load balancer. Optimalkan arsitektur jaringan.

HTTP 499: Client closed request

Kode status non-standar ini menunjukkan bahwa client menutup koneksi sebelum server sempat memberikan respons.

  • Kualitas jaringan buruk antara client dan ALB: Round-Trip Time (RTT) TCP tinggi atau terjadi kehilangan paket di jaringan. Periksa field request_time dan tcpinfo_rtt dalam log akses, atau lakukan diagnostik jaringan di sisi client.

  • Pembatasan bandwidth pada instans ALB: Trafik ke instans ALB melebihi batas bandwidth, sehingga memicu throttling dan kehilangan paket. Gunakan CloudMonitor untuk memeriksa metrik outbound bandwidth dan Dropped Connections.

  • Layanan Backend membutuhkan waktu terlalu lama untuk memproses permintaan: Waktu pemrosesan Layanan Backend melebihi pengaturan timeout client. Periksa field upstream_response_time dalam log akses, yang mencatat waktu pemrosesan permintaan oleh Layanan Backend. Jika nilai ini secara konsisten tinggi, selidiki Layanan Backend untuk menemukan bottleneck performa.

  • Timeout permintaan client diatur terlalu rendah: Client menutup koneksi karena timeout sebelum permintaan selesai. Periksa field request_time dalam log akses, yang merepresentasikan durasi total permintaan client. Gunakan nilai ini sebagai referensi untuk mengatur timeout yang lebih sesuai di sisi client.

  • Client mengalami masalah tak terduga: Client menutup koneksi lebih awal sebelum permintaan selesai. Selidiki perilaku client untuk menentukan apakah penutupan koneksi dilakukan secara sengaja.

HTTP 500: Internal server error

Menunjukkan bahwa Server Backend mengalami error internal dan tidak dapat memenuhi permintaan.

  • Server Backend langsung mengembalikan kode status 500: Periksa log akses. Jika field upstream_status bernilai 500, berarti ALB meneruskan kode status tersebut dari Server Backend. Lakukan troubleshooting pada Layanan Backend.

  • Server Backend menutup koneksi secara tak terduga: Server Backend menutup koneksi secara tak terduga sebelum mengirimkan respons lengkap. Lakukan pengambilan paket di Server Backend untuk menyelidiki penyebab penutupan koneksi yang tidak terduga tersebut.

HTTP 502: Bad gateway

Error ini terjadi ketika Listener HTTP atau HTTPS menerima permintaan, tetapi ALB tidak dapat meneruskannya ke Server Backend atau gagal menerima respons darinya.

  • Server Backend langsung mengembalikan kode status 502: Periksa log akses. Jika field upstream_status bernilai 502, berarti ALB meneruskan kode status tersebut dari Server Backend. Lakukan troubleshooting pada Layanan Backend.

  • Server Backend mengembalikan kode error berbeda: Misalnya, Server Backend mengembalikan kode status 504 atau 444, tetapi ALB mengembalikan kode status 502 ke client. Bandingkan field status dan upstream_status dalam log akses. Lakukan troubleshooting berdasarkan kode status aktual yang dikembalikan oleh Server Backend.

  • Terjadi error komunikasi TCP antara ALB dan Server Backend: Pastikan Layanan Backend sedang berjalan, port layanan dalam keadaan listening dengan benar, dan handshake TCP berhasil. Anda dapat menggunakan pengambilan paket untuk menganalisis handshake TCP.

  • Antrian backlog Server Backend penuh, sehingga permintaan koneksi baru ditolak atau dibuang. Di Server Backend, jalankan perintah netstat -s | grep -i listen untuk memeriksa apakah jumlah drop terus meningkat.

  • Ukuran paket permintaan melebihi MTU Server Backend: Hal ini dapat terlihat dari keberhasilan pengiriman paket kecil (seperti pemeriksaan kesehatan) tetapi kegagalan pada paket data yang lebih besar. Lakukan pengambilan paket di Server Backend untuk menganalisis apakah panjang paket berada dalam batas yang ditentukan.

  • Respons Server Backend tidak valid atau berisi header HTTP yang tidak sesuai: Lakukan pengambilan paket di Server Backend untuk menganalisis apakah format paket respons valid.

  • Server Backend tidak memproses permintaan tepat waktu: Periksa log di Server Backend dan pantau penggunaan CPU serta memori-nya.

HTTP 503: Service temporarily unavailable

Error ini menunjukkan bahwa server sementara tidak tersedia, sering kali karena trafik melebihi batas atau Layanan Backend tidak tersedia.

  • Server Backend langsung mengembalikan kode status 503: Periksa log akses. Jika field upstream_status bernilai 503, berarti ALB meneruskan kode status tersebut dari Server Backend. Lakukan troubleshooting pada Layanan Backend.

  • Laju permintaan client memicu throttling ALB:

    • Periksa metrik Requests per second di CloudMonitor.

    • CloudMonitor menampilkan data dengan granularitas per menit, sehingga mungkin tidak menunjukkan pembatasan laju pada tingkat detik. Periksa log akses. Jika nilai field upstream_status adalah -, berarti permintaan tidak dikirim ke Server Backend.

    • Periksa header paket respons. Jika berisi field ALB-QPS-Limited:Limited, berarti permintaan tersebut memicu throttling pada instans ALB.

  • Client mengakses IP ALB secara langsung atau resolusi DNS gagal: Hal ini dapat menyebabkan trafik terkonsentrasi pada beberapa alamat IP, sehingga melebihi batasnya. Client harus mengakses instans ALB melalui nama domain-nya. Untuk informasi lebih lanjut, lihat Konfigurasikan rekaman CNAME untuk instans ALB. Pastikan resolusi CNAME berfungsi dengan benar.

  • Listener tidak memiliki Server Backend yang dikonfigurasi, atau semua Server Backend yang dikonfigurasi memiliki bobot 0.

HTTP 504: Gateway timeout

Menunjukkan bahwa Server Backend gagal memberikan respons dalam periode timeout.

  • Server Backend langsung mengembalikan kode status 504: Periksa log akses. Jika field upstream_status bernilai 504, berarti ALB meneruskan kode status tersebut dari Server Backend. Lakukan troubleshooting pada Layanan Backend.

  • Upaya koneksi dari ALB ke Server Backend mengalami timeout: Timeout untuk membangun koneksi adalah 5 detik dan tidak dapat diubah. Lakukan pengambilan paket untuk menyelidiki mengapa Server Backend tidak merespons upaya koneksi dalam batas waktu 5 detik.

  • Respons Server Backend mengalami timeout: Nilai default untuk timeout permintaan koneksi adalah 60 detik. Periksa metrik UpstreamResponseTime di CloudMonitor dan field upstream_response_time dalam log akses untuk menentukan apakah respons Server Backend mengalami timeout.