Topik ini menjelaskan cara mengatasi timeout koneksi persisten antara klien dan server. Masalah ini dapat terjadi pada layanan yang dilindungi oleh Web Application Firewall (WAF).
Deskripsi masalah
Dalam beberapa skenario bisnis, server memerlukan waktu lebih dari 60 detik untuk memproses permintaan klien. Sebelum server mengembalikan respons, tidak terjadi pertukaran data antara server dan klien.
Sebagai contoh, Anda mengunggah file Excel melalui halaman web agar diproses oleh server. Server membutuhkan sekitar 3 menit untuk memproses data tersebut dan tidak melakukan pertukaran data dengan klien melalui HTTP atau TCP selama 120 detik. Dalam kasus ini, WAF mengembalikan error 504 Gateway Timeout kepada klien dan menghentikan koneksi.
Secara default, WAF tidak mempertahankan koneksi persisten yang berlangsung lebih dari 120 detik tanpa pertukaran data.
Solusi
-
Masuk ke Konsol Web Application Firewall 3.0. Dari bilah menu atas, pilih kelompok sumber daya dan wilayah (Chinese Mainland atau Outside Chinese Mainland) untuk instans WAF.
-
Di panel navigasi kiri, klik Onboarding.
Lakukan langkah-langkah berikut berdasarkan jenis akses:
CNAME Record
Pada tab CNAME Record, temukan Nama domain yang dituju, lalu klik Modify di kolom Actions.
Pada halaman wizard Configure Forwarding Rule, di bagian Other Advanced Settings, sesuaikan Read Connection Timeout Period dan Write Connection Timeout Period untuk Nama domain tersebut. Nilai default timeout koneksi baca dan tulis adalah 120 detik, dengan rentang nilai yang dapat diatur antara 1 hingga 3600 detik.
Cloud Native (contoh ECS)
Pada tab Cloud Native, temukan produk cloud yang dituju, perluas detail Port untuk instans tersebut, lalu klik Port Details di kolom Actions.
Perluas Advanced Settings, lalu sesuaikan Read Connection Timeout Period dan Write Connection Timeout Period. Nilai default timeout koneksi baca dan tulis adalah 120 detik, dengan rentang nilai yang dapat diatur antara 1 hingga 3600 detik.