Batas waktu CONNECT proxy setelah koneksi TCP berhasil
Temukan batas waktu yang aktif selama CONNECT alih-alih menganggap koneksi TCP yang selesai juga telah menyelesaikan penyiapan terowongan.
Batas waktu koneksi TCP sudah menjalankan tugasnya begitu klien terhubung ke proxy. Penantian berikutnya—menerima balasan CONNECT yang lengkap—mungkin diatur oleh pengatur waktu yang berbeda.
Proxy mungkin masih menghubungkan ke hulu, bertukar pesan autentikasi, atau menunggu layanan lain. Balasan biasa situs web belum dimulai.
| Langkah terakhir yang selesai | Apa yang masih ditunggu? |
|---|---|
| TCP tersambung ke proxy | Jabat tangan proxy, termasuk penerimaan CONNECT |
| CONNECT diterima | TLS tujuan, saat target menggunakannya |
| Permintaan tujuan dikirim | Balasan tujuan |
Temukan pengatur waktu yang aktif saat konektor membaca dan menulis jabat tangan tersebut. Properti bernama “response timeout” mungkin baru berlaku setelah rute terbentuk. Pada HttpClient 5, bedakan ConnectionConfig dan batas waktu soketnya, konfigurasi jabat tangan TLS, serta batas waktu balasan pada tingkat permintaan. Terapkan konfigurasi koneksi yang relevan melalui manajer yang digunakan klien sebenarnya. Generasi Apache HttpClient lama menggunakan API yang berbeda, jadi cuplikan lama bukan peta yang andal untuk tanggung jawab ini.
Pertahankan penolakan CONNECT terakhir sebagai balasan proxy. Balasan berhasil yang diikuti kemacetan TLS adalah tahap kegagalan lain. “TCP tersambung; tidak ada balasan CONNECT lengkap sebelum tenggat penyiapan” menggambarkan masalah lebih tepat daripada batas waktu proxy generik.
Tenggat keseluruhan dapat membatasi penantian pemanggil bersama batas fase ini. Saat kedaluwarsa, batalkan atau tutup operasi melalui siklus hidup yang didukung klien sebelum percobaan lain menghabiskan kapasitas koneksi.