Proxy Timeout: Penyebab Connection Timeout dan Cara Mengatasinya
Proxy terlihat aktif, IP dan port sudah benar, tetapi browser terus loading sampai akhirnya gagal? Atau script berhenti dengan pesan connection timed out? Kondisi seperti ini biasanya disebut proxy timeout.
Timeout bukan satu jenis error yang selalu mempunyai penyebab sama. Ada timeout ketika client belum berhasil terhubung ke proxy, timeout ketika proxy mencoba menjangkau website tujuan, timeout setelah koneksi terbentuk tetapi server tidak mengirim data, sampai timeout ketika HTTP CONNECT atau SOCKS handshake tidak selesai.
Karena itu cara memperbaikinya harus dimulai dengan mengetahui di tahap mana koneksi berhenti, bukan langsung mengganti proxy secara acak.
Kalau ingin mengecek dulu apakah endpoint memang hidup, baca juga Cara Cek Proxy Aktif atau Tidak.
Apa Itu Proxy Timeout?
Proxy timeout adalah kondisi ketika sebuah tahap koneksi melalui proxy tidak selesai dalam batas waktu yang ditentukan oleh browser, aplikasi, operating system, atau HTTP client.
Secara sederhana:
Masalah bisa terjadi pada jalur client ke proxy maupun proxy ke website.
Timeout Tidak Selalu Berarti Proxy Mati
Ini penting karena sebuah proxy bisa saja:
- masih aktif tetapi terlalu lambat,
- hanya gagal menuju website tertentu,
- DNS-nya bermasalah,
- port tujuan diblokir,
- overload,
- atau mempunyai latency terlalu tinggi.
Jadi kondisi:
tidak selalu benar.
Jenis Timeout yang Sering Ditemui
| Jenis | Yang Gagal |
|---|---|
| Connect Timeout | Client gagal membentuk koneksi ke proxy. |
| Proxy Handshake Timeout | HTTP CONNECT atau SOCKS handshake tidak selesai. |
| Upstream Timeout | Proxy gagal mendapat response dari destination. |
| Read Timeout | Koneksi sudah ada tetapi data tidak datang tepat waktu. |
| Total Timeout | Seluruh operasi melewati batas waktu maksimum. |
Apa Itu Connect Timeout?
Connect timeout terjadi saat client belum berhasil membuat koneksi ke endpoint proxy dalam waktu yang diizinkan.
Contohnya client ingin terhubung ke:
tetapi tidak mendapatkan proses connection establishment yang berhasil.
Penyebab Connect Timeout
Beberapa penyebab umum:
- proxy offline,
- IP salah,
- port salah,
- firewall melakukan drop,
- routing bermasalah,
- server proxy overload,
- network packet loss tinggi,
- latency terlalu besar.
Connection Timeout vs Connection Refused
Dua error ini berbeda.
| Error | Gambaran |
|---|---|
| Connection Refused | Host merespons tetapi port tidak menerima koneksi. |
| Connection Timeout | Client tidak mendapatkan response yang dibutuhkan tepat waktu. |
Kalau port tertutup dan host mengirim reset, error biasanya muncul lebih cepat.
Kalau firewall membuang packet tanpa response, client cenderung menunggu sampai timeout.
Cara Cek Apakah Port Proxy Bisa Dijangkau
Gunakan Netcat:
Kalau berhasil:
berarti TCP endpoint dapat dijangkau.
Tetapi ini belum membuktikan service tersebut benar-benar proxy yang valid.
Cara Tes Proxy dengan cURL
Untuk HTTP proxy:
Verbose output membantu melihat tahap mana yang macet.
Dokumentasi resmi cURL menyediakan opsi proxy dan timeout untuk pengujian koneksi.
Mengatur Connect Timeout di cURL
Gunakan:
Artinya cURL membatasi fase connection establishment sekitar lima detik.
Kalau proxy tidak bisa dihubungi dalam batas tersebut, operasi dihentikan.
Mengatur Total Timeout
Connect timeout hanya membatasi tahap koneksi.
Kalau ingin membatasi keseluruhan proses:
Secara konsep:
| Option | Fungsi |
|---|---|
--connect-timeout |
Membatasi fase membuat koneksi. |
--max-time |
Membatasi keseluruhan operasi. |
Timeout Terlalu Pendek Bisa Memberi False Negative
Misalnya proxy sebenarnya aktif tetapi membutuhkan:
untuk membentuk koneksi.
Kalau kamu menetapkan:
proxy akan dianggap gagal meskipun sebenarnya masih bekerja.
Apa Itu Read Timeout?
Read timeout terjadi ketika koneksi sudah terbentuk tetapi aplikasi menunggu data terlalu lama.
Contohnya:
Proxy bisa connect dengan cepat tetapi destination membutuhkan waktu lama mengirim response.
Connect Cepat, tetapi Read Timeout
Contohnya:
Dalam kondisi ini masalah bukan pada koneksi awal ke proxy.
Yang perlu diperiksa justru:
- destination server,
- proxy ke upstream,
- bandwidth,
- response size,
- server processing time.
Apa Itu HTTP CONNECT Timeout?
Untuk HTTPS melalui HTTP proxy, client biasanya meminta proxy membuka tunnel:
Proxy kemudian mencoba terhubung ke:
Kalau tahap tersebut terlalu lama, client bisa mengalami timeout meskipun koneksi ke proxy sendiri sudah berhasil.
Alur HTTPS melalui HTTP Proxy
Kalau berhasil, proxy dapat merespons:
Kalau respons tersebut tidak datang, masalah bisa berada pada proxy atau jalur proxy ke destination.
Proxy Bisa Berhasil ke Satu Website tetapi Timeout ke Website Lain
Ini sangat mungkin.
Misalnya:
Proxy belum tentu mati.
Penyebabnya bisa:
- routing proxy ke site-b buruk,
- destination memblokir jaringan proxy,
- port tujuan dibatasi,
- DNS menuju domain tersebut bermasalah,
- destination sedang down.
Apa Itu SOCKS5 Handshake Timeout?
Pada SOCKS5, client dan proxy melakukan handshake sebelum proxy membuat koneksi ke tujuan.
Secara sederhana:
Kalau proxy menerima TCP connection tetapi tidak menyelesaikan negotiation SOCKS, aplikasi bisa tetap timeout.
Untuk memahami protokolnya, baca artikel SOCKS5 Proxy.
HTTP Proxy Salah Dipakai Sebagai SOCKS Bisa Terlihat Seperti Timeout
Misalnya endpoint sebenarnya:
tetapi client dikonfigurasi:
TCP port mungkin terbuka, tetapi protocol negotiation tidak sesuai.
Hasilnya bisa:
- connection reset,
- protocol error,
- timeout.
Selalu Cek Jenis Proxy
Jangan menentukan protocol hanya berdasarkan port.
| Port | Sering Digunakan | Bukan Jaminan |
|---|---|---|
| 8080 | HTTP proxy/web app | Tidak pasti HTTP proxy |
| 3128 | Squid proxy | Tidak pasti Squid |
| 1080 | SOCKS | Tidak pasti SOCKS5 |
Baca juga fungsi port proxy untuk memahami konteksnya.
Proxy Sering Timeout? Coba Endpoint Lain
GudangProxy menyediakan daftar proxy gratis berdasarkan protokol, negara, anonimitas, kecepatan, dan status koneksi. Kamu bisa membandingkan beberapa endpoint untuk melihat mana yang lebih responsif dari jaringanmu.
Lihat Daftar Proxy Gratis →Latency Tinggi Bisa Menyebabkan Timeout
Semakin tinggi latency, semakin lama setiap pertukaran jaringan selesai.
Jalur proxy mempunyai dua sisi:
Kalau keduanya jauh atau routing buruk, waktu total meningkat.
Contoh Jalur Proxy yang Panjang
Traffic harus melakukan perjalanan jauh ke proxy lalu kembali menuju destination.
Walaupun proxy aktif, jalurnya bisa jauh lebih lambat dibanding koneksi langsung.
Proxy Gratis Lebih Sering Timeout?
Public proxy gratis memang cenderung lebih tidak stabil dibanding endpoint yang dikelola untuk penggunaan private.
Penyebabnya bisa:
- terlalu banyak pengguna,
- bandwidth terbatas,
- server tidak terawat,
- proxy mati sewaktu-waktu,
- routing tidak stabil,
- resource server kecil.
Karena itu status “aktif” sebaiknya selalu dilengkapi timestamp pengecekan.
Apa Itu Proxy Overload?
Proxy overload terjadi ketika jumlah traffic atau connection melebihi kapasitas nyaman server.
Gejalanya bisa berupa:
- latency meningkat,
- connection timeout,
- read timeout,
- connection reset,
- success rate turun.
DNS Bisa Menjadi Penyebab Proxy Timeout
Jika destination diberikan dalam bentuk hostname, seseorang perlu melakukan DNS resolution.
Tergantung konfigurasi:
- client melakukan DNS lokal, atau
- proxy melakukan DNS dari sisinya.
Kalau resolver lambat atau gagal, koneksi bisa tertunda.
Untuk dasar DNS, baca Cara Kerja DNS.
SOCKS5 dan DNS Timeout
Dengan cURL:
dan:
mempunyai perilaku resolusi hostname yang berbeda.
Kalau DNS lokal bermasalah, remote resolution bisa memberikan hasil berbeda—dan sebaliknya.
Firewall Bisa Menyebabkan Timeout
Firewall yang menggunakan DROP dapat membuang packet tanpa memberikan respons.
Client akhirnya menunggu sampai batas waktunya habis.
Ini berbeda dari REJECT yang dapat memberikan kegagalan lebih cepat.
ISP atau Jaringan Bisa Memblokir Port Proxy
Proxy mungkin bekerja dari jaringan A tetapi timeout dari jaringan B.
Contohnya:
Kemungkinan ada:
- firewall kantor,
- outbound filtering,
- ACL,
- proxy policy perusahaan.
Coba Proxy dari Jaringan Lain
Testing dari jaringan lain dapat membantu memisahkan masalah.
Kalau:
kemungkinan masalah berada pada jalur atau policy WiFi A.
Authentication Bisa Terlihat seperti Timeout
Proxy tertentu menunggu authentication atau client tidak memahami challenge dengan benar.
Untuk HTTP proxy, response yang normal saat membutuhkan login adalah:
Tetapi software yang buruk atau server yang salah konfigurasi bisa memberikan gejala berbeda.
Pastikan authentication sudah benar sebelum menyimpulkan endpoint timeout.
IP Whitelist yang Salah
Kalau proxy hanya menerima source IP tertentu tetapi IP kamu belum terdaftar, server dapat menolak atau mengabaikan koneksi tergantung implementasinya.
Cek public IP:
kemudian bandingkan dengan whitelist provider.
Dynamic IP Bisa Membuat Whitelist Tiba-tiba Gagal
Hari ini public IP:
besok berubah menjadi:
Whitelist lama tidak lagi sesuai.
Kalau ingin memahami perbedaannya, baca Static IP vs Dynamic IP.
Proxy Timeout pada Python Requests
Requests memungkinkan timeout connect dan read dipisahkan.
Artinya secara konsep:
| Nilai | Fungsi |
|---|---|
| 5 | Connect timeout |
| 20 | Read timeout |
Implementasi lengkap proxy Python sudah dibahas di Proxy di Python Requests.
Kenapa Timeout Wajib pada Automation?
Bayangkan script mempunyai 100 worker.
Tanpa timeout:
Seluruh worker bisa tertahan.
Dengan timeout, worker dapat gagal lebih cepat lalu mengambil tindakan sesuai logic aplikasi.
Jangan Gunakan Retry Tanpa Batas
Kalau proxy memang mati:
tidak menyelesaikan masalah.
Gunakan jumlah retry terbatas.
Contohnya:
setelah itu tandai endpoint gagal atau pindah ke endpoint cadangan.
Gunakan Backoff
Kalau failure bersifat sementara, beri jeda sebelum retry.
Ini lebih baik daripada retry secepat mungkin.
Kapan Sebaiknya Langsung Ganti Proxy?
Pertimbangkan ganti endpoint kalau:
- connect timeout berulang,
- success rate sangat rendah,
- latency konsisten terlalu tinggi,
- proxy sudah offline,
- protocol tidak sesuai,
- server tidak merespons dari beberapa jaringan.
Kapan Jangan Langsung Ganti Proxy?
Kalau masalah hanya terjadi pada satu website, periksa destination lebih dulu.
Contohnya:
Kemungkinan problem spesifik pada route menuju Site X atau policy destination.
Cara Mengukur Total Waktu cURL
Dengan data tersebut kamu bisa membedakan waktu membangun koneksi dan waktu total transfer.
Proxy Timeout dan TLS
Setelah TCP dan CONNECT berhasil, HTTPS masih perlu melakukan TLS handshake.
Kalau proses tersebut bermasalah, request juga bisa terlihat lambat atau gagal.
Jadi jangan berhenti hanya karena 200 Connection Established sudah muncul.
Proxy Timeout vs HTTP 504
Keduanya sama-sama berhubungan dengan waktu tunggu tetapi berbeda.
| Kondisi | Arti |
|---|---|
| Client timeout | Aplikasi berhenti menunggu karena batas waktunya sendiri. |
| HTTP 504 | Gateway/proxy mengirim status bahwa upstream tidak merespons tepat waktu. |
Kalau kamu mendapat HTTP 504, berarti masih ada HTTP response dari gateway.
Kalau connection timeout terjadi sebelum HTTP, bisa jadi tidak ada status code sama sekali.
Proxy Timeout vs HTTP 502
502 biasanya berarti gateway mendapatkan response upstream yang tidak valid atau gagal berkomunikasi sebagaimana mestinya.
504 lebih spesifik terhadap upstream timeout.
Penjelasan status ini tersedia di HTTP Status Code.
Proxy Timeout pada Rotating Proxy
Rotating proxy mempunyai lapisan tambahan berupa gateway dan pool.
Timeout bisa berasal dari:
- gateway,
- pemilihan exit,
- exit node mati,
- route exit ke destination.
Satu Exit Timeout Tidak Berarti Gateway Mati
Pada rotating pool:
masalah mungkin hanya pada exit B.
Ini berbeda dari static proxy yang hanya menggunakan satu endpoint keluar.
Proxy Timeout pada Sticky Session
Sticky session mempertahankan exit tertentu selama periode atau session tertentu.
Kalau exit tersebut menjadi lambat:
membuat session baru dapat memberikan exit berbeda, tergantung provider.
Checklist Troubleshooting Proxy Timeout
| Langkah | Yang Diperiksa |
|---|---|
| 1 | IP/hostname dan port. |
| 2 | Protocol HTTP/SOCKS. |
| 3 | TCP connection ke proxy. |
| 4 | Authentication / whitelist. |
| 5 | DNS resolution. |
| 6 | HTTP CONNECT / SOCKS handshake. |
| 7 | Destination tertentu atau semua website. |
| 8 | Latency. |
| 9 | Firewall dan network policy. |
| 10 | Test dari jaringan lain. |
Urutan Praktis Mengecek Proxy Timeout
1. Tes Port
2. Tes Protocol
3. Tes IP Keluar
4. Tambahkan Timeout
5. Tes Destination Lain
Pastikan masalah tidak spesifik pada satu website.
6. Tes Network Lain
Coba dari koneksi berbeda jika memungkinkan.
Kesalahan Umum Saat Menangani Proxy Timeout
- Menganggap semua timeout berarti proxy mati.
- Menyamakan timeout dengan connection refused.
- Memakai timeout terlalu pendek.
- Tidak membedakan connect dan read timeout.
- Menggunakan protocol yang salah.
- Tidak mengecek authentication.
- Tidak mengecek DNS.
- Retry tanpa batas.
- Mengganti proxy padahal hanya satu website yang bermasalah.
- Menilai kualitas proxy dari satu request.
FAQ Proxy Timeout
Apa itu proxy timeout?
Proxy timeout adalah kondisi ketika salah satu tahap koneksi melalui proxy tidak selesai sebelum batas waktu client, proxy, atau server habis.
Kenapa proxy connection timeout?
Penyebabnya bisa berupa proxy offline, port salah, firewall, routing, latency tinggi, packet loss, overload, atau endpoint yang tidak dapat dijangkau.
Apa beda connection refused dan timeout?
Connection refused biasanya berarti host secara aktif menolak koneksi atau tidak ada service yang menerima pada port tersebut. Timeout berarti response yang diperlukan tidak datang tepat waktu.
Apa beda connect timeout dan read timeout?
Connect timeout terjadi saat koneksi belum berhasil dibuat, sedangkan read timeout terjadi ketika koneksi sudah ada tetapi data tidak diterima dalam waktu yang diizinkan.
Apakah proxy aktif bisa timeout?
Bisa. Proxy dapat aktif tetapi overload, memiliki latency tinggi, atau gagal menghubungi destination tertentu.
Bagaimana cara mengatur timeout di cURL?
Gunakan --connect-timeout untuk fase koneksi dan --max-time untuk membatasi keseluruhan operasi.
Kenapa SOCKS5 proxy timeout?
Penyebabnya bisa berupa TCP endpoint tidak dapat dijangkau, SOCKS handshake gagal, authentication bermasalah, DNS lambat, atau destination tidak dapat dihubungi dari sisi proxy.
Apakah HTTP 504 sama dengan proxy timeout?
Tidak persis. 504 adalah response HTTP dari gateway yang menunjukkan upstream timeout. Client timeout bisa terjadi tanpa menerima HTTP response sama sekali.
Kenapa proxy hanya timeout pada satu website?
Kemungkinan ada masalah routing, blocking, DNS, port policy, atau server tujuan tersebut, bukan proxy secara keseluruhan.
Kapan sebaiknya mengganti proxy?
Ganti endpoint jika timeout terjadi konsisten di banyak destination, success rate rendah, latency tidak wajar, atau proxy memang tidak lagi dapat dijangkau.
