HTTP 504 Gateway Timeout versus timeout klien Anda
Bedakan permintaan upstream yang kehabisan waktu di gateway dengan timeout yang dikonfigurasi di klien proxy Anda sendiri.
Klien Anda bersedia menunggu enam puluh detik. Sepuluh detik kemudian, ia menerima HTTP 504. Menaikkan timeout klien menjadi dua menit tidak memberi gateway lima puluh detik tambahan untuk bekerja.
504 menjelaskan gateway atau proxy yang tidak menerima respons upstream tepat waktu saat mencoba menyelesaikan permintaan. Gateway sudah mengambil keputusannya dan mengembalikan respons. Klien Anda dapat membaca respons itu dengan baik.
Perantara mana yang mengembalikannya?
Proxy penerusan bisa menjadi penerbitnya. Begitu pula gateway berikutnya yang dioperasikan oleh situs web. Dengan TLS ujung ke ujung biasa di dalam CONNECT, respons HTTP dari dalam pertukaran tujuan yang terlindungi itu tidak sama dengan penolakan CONNECT itu sendiri.
Simpan tahap, header respons, redaksi halaman kesalahan, dan log yang cocok bila tersedia. Label server bisa menjadi petunjuk, tetapi tidak boleh dianggap sebagai atribusi yang tak keliru. Rute bisa berisi lebih banyak perantara daripada yang dikonfigurasi di klien Anda.
Lalu periksa mengapa operasi upstream itu tidak selesai. Keterjangkauan, layanan yang kelebihan beban, badan permintaan yang tidak dapat diproses upstream seperti yang diharapkan, dan perilaku aplikasi semuanya bisa berperan. Status numerik saja tidak membuktikan bahwa mengubah User-Agent atau menambahkan satu opsi timeout adalah solusi universal.
Bandingkan permintaan yang sama
Saat alat lain berfungsi, bandingkan metode, target, pengodean badan, autentikasi, dan rute. "URL terbuka di peramban" bukan perbandingan yang lengkap dengan pengiriman multipart melalui klien layanan.
Jika Anda mengoperasikan gateway penerbit, selaraskan anggaran upstream-nya dengan beban kerja yang didukung dan tenggat di sekitarnya. Jika tidak, simpan hasilnya sebagai bukti dan gunakan jalur akses atau dukungan yang didokumentasikan operator. Menunggu lebih lama secara lokal tidak dapat mengubah respons yang sudah tiba.