← Semua artikel

Proxy Timeout: Penyebab Connection Timeout dan Cara Mengatasinya

Diperbarui 24 Oct 2026

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:

Client
→
Proxy
→
Website

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:

timeout = proxy mati

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:

203.0.113.20:8080

tetapi tidak mendapatkan proses connection establishment yang berhasil.

Client
→
Proxy
✕
Timeout

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:

nc -vz 203.0.113.20 8080

Kalau berhasil:

Connection succeeded

berarti TCP endpoint dapat dijangkau.

Tetapi ini belum membuktikan service tersebut benar-benar proxy yang valid.

Cara Tes Proxy dengan cURL

Untuk HTTP proxy:

curl -v \ -x http://203.0.113.20:8080 \ https://example.com/

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:

curl \ --connect-timeout 5 \ -x http://203.0.113.20:8080 \ https://example.com/

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:

curl \ --connect-timeout 5 \ --max-time 20 \ -x http://203.0.113.20:8080 \ https://example.com/

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:

2.1 detik

untuk membentuk koneksi.

Kalau kamu menetapkan:

--connect-timeout 1

proxy akan dianggap gagal meskipun sebenarnya masih bekerja.

Timeout bukan sekadar tombol semakin kecil semakin bagus. Nilai harus disesuaikan dengan lokasi proxy, kualitas jaringan, dan use case.

Apa Itu Read Timeout?

Read timeout terjadi ketika koneksi sudah terbentuk tetapi aplikasi menunggu data terlalu lama.

Contohnya:

Client
↔
Proxy
↔
Website
→
Data Lambat

Proxy bisa connect dengan cepat tetapi destination membutuhkan waktu lama mengirim response.

Connect Cepat, tetapi Read Timeout

Contohnya:

Connect ke proxy: 0.2 detik HTTP CONNECT: berhasil TLS: berhasil Menunggu response: timeout

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:

CONNECT example.com:443 HTTP/1.1

Proxy kemudian mencoba terhubung ke:

example.com:443

Kalau tahap tersebut terlalu lama, client bisa mengalami timeout meskipun koneksi ke proxy sendiri sudah berhasil.

Alur HTTPS melalui HTTP Proxy

Client
→
Proxy
→
CONNECT
→
Website :443

Kalau berhasil, proxy dapat merespons:

HTTP/1.1 200 Connection Established

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:

example.com → berhasil site-a.com → berhasil site-b.com → timeout

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:

Client
→
SOCKS5 Greeting
→
Proxy
→
Destination

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:

HTTP Proxy 203.0.113.20:8080

tetapi client dikonfigurasi:

socks5://203.0.113.20:8080

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:

Client → Proxy Proxy → Destination

Kalau keduanya jauh atau routing buruk, waktu total meningkat.

Contoh Jalur Proxy yang Panjang

Client Asia
→
Proxy Eropa
→
Website Asia

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.
Banyak Client
→
Proxy Overload
→
Response Lambat

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:

socks5://

dan:

socks5h://

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 SYN
→
Firewall DROP
✕
No Response

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:

WiFi rumah → berhasil WiFi kantor → timeout

Kemungkinan ada:

  • firewall kantor,
  • outbound filtering,
  • ACL,
  • proxy policy perusahaan.

Coba Proxy dari Jaringan Lain

Testing dari jaringan lain dapat membantu memisahkan masalah.

Kalau:

Proxy sama Laptop sama WiFi A → gagal WiFi B → berhasil

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:

407 Proxy Authentication Required

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:

curl https://api.ipify.org

kemudian bandingkan dengan whitelist provider.

Dynamic IP Bisa Membuat Whitelist Tiba-tiba Gagal

Hari ini public IP:

198.51.100.20

besok berubah menjadi:

198.51.100.45

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.

requests.get( "https://example.com", proxies=proxies, timeout=(5, 20) )

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:

Worker 1 → proxy mati → menunggu Worker 2 → proxy mati → menunggu ... Worker 100 → proxy mati → menunggu

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:

retry retry retry retry retry...

tidak menyelesaikan masalah.

Gunakan jumlah retry terbatas.

Contohnya:

maximum retry: 3

setelah itu tandai endpoint gagal atau pindah ke endpoint cadangan.

Gunakan Backoff

Kalau failure bersifat sementara, beri jeda sebelum retry.

Retry 1 → 1 detik Retry 2 → 2 detik Retry 3 → 4 detik

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:

Proxy → Google berhasil Proxy → Endpoint test berhasil Proxy → Site X timeout

Kemungkinan problem spesifik pada route menuju Site X atau policy destination.

Cara Mengukur Total Waktu cURL

curl \ -o /dev/null \ -s \ -w "connect=%{time_connect}s total=%{time_total}s\n" \ -x http://203.0.113.20:8080 \ https://example.com/

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.

TCP ✓ CONNECT ✓ TLS ✕

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.

Client
→
Gateway
→
Exit Pool
→
Website

Timeout bisa berasal dari:

  • gateway,
  • pemilihan exit,
  • exit node mati,
  • route exit ke destination.

Satu Exit Timeout Tidak Berarti Gateway Mati

Pada rotating pool:

Request 1 → Exit A → sukses Request 2 → Exit B → timeout Request 3 → Exit C → sukses

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:

Session A → Exit X → timeout berulang

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

nc -vz IP PORT

2. Tes Protocol

curl -v -x http://IP:PORT https://example.com

3. Tes IP Keluar

curl -x http://IP:PORT https://api.ipify.org

4. Tambahkan Timeout

curl \ --connect-timeout 5 \ --max-time 20 \ -x http://IP:PORT \ https://example.com

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.