# 502 Bad Gateway lewat proxy: artinya dan cara memperbaiki

> 502 Bad Gateway lewat proxy residential berarti gateway tidak mendapat jawaban valid di hulu. Penyebab, cara membedakan proxy dan target, kode retry.

- URL: https://crawlrelay.com/id/docs/errors/502-bad-gateway/
- Terakhir diperbarui: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Kode status HTTP (5xx, kesalahan server): pesan tepat di tiap alat, penyebab yang mungkin secara urut, dan perbaikan yang berhasil.

**Jawaban cepat — Apa arti 502 Bad Gateway dengan proxy?**

**502 Bad Gateway** berarti gateway atau proxy menerima respons tidak valid, atau tidak sama sekali, dari server berikutnya dalam rantai. Dengan proxy residential CrawlRelay, 502 biasanya berarti sambungan exit atau target gagal di tengah permintaan. Coba ulang sekali dengan koneksi baru. Jika 502 terus terjadi hanya di satu situs, masalah ada pada situs; jika terjadi di semua situs, periksa pengaturan Anda.

## 502 Bad Gateway sekilas

| Atribut | Nilai |
| --- | --- |
| Kesalahan | 502 Bad Gateway |
| Tipe | Kode status HTTP (5xx, kesalahan server) |
| Dikirim oleh | Gateway proxy atau reverse proxy di depan target |
| Didefinisikan dalam | RFC 9110, section 15.6.3 |
| Mencoba lagi? | Ya, pada koneksi atau sesi baru |
| Periksa pertama | Retry sekali dengan IP baru; jika tetap, uji target tanpa proxy |

## Apa arti 502 Bad Gateway?

RFC 9110 menjelaskan 502 sebagai cara gateway memberi tahu bahwa server belakangnya merespons buruk. Dalam rantai scraping ada minimal dua gateway: proxy dan, sering kali, CDN atau load balancer di depan website. Salah satu bisa memproduksi 502, dan body respons biasanya memberi tahu mana.

Jaringan residential menambah satu tautan lagi. Exit adalah koneksi rumah tangga nyata, dan perangkat bisa meninggalkan jaringan saat permintaan berlangsung. Gateway lalu tidak memiliki data valid untuk dikirim kembali.

## Seperti apa a 502 dalam Python, curl, Node.js, dan browser?

Kegagalan yang sama dicetak berbeda di setiap alat. Ini adalah pesan yang perlu dicari di log Anda:

- **Python requests:** `status_code == 502`, atau `ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 502 Bad Gateway'))` untuk target HTTPS
- **curl:** `curl: (56) CONNECT tunnel failed, response 502`
- **Browser:** `net::ERR_TUNNEL_CONNECTION_FAILED` pada HTTPS, atau halaman error biasa pada HTTP
- **Scrapy:** dicoba ulang secara default, karena 502 ada di `RETRY_HTTP_CODES`

## Apa penyebab a 502?

Kemungkinan besar pertama:

- **Exit keluar dari pool** selama permintaan, ini biasa pada jaringan residential.
- **Target menutup koneksi**, crash, atau mengembalikan data rusak.
- **CDN target gagal** menghubungi server asalnya.
- **DNS gagal untuk target** di sisi exit, misal salah ketik nama host.
- **Targeting sangat sempit** sehingga hanya sedikit exit, membuat kegagalan berulang di set kecil yang sama.

## Bagaimana cara mendiagnosis a 502 langkah demi langkah?

1. Coba ulang permintaan dengan koneksi baru. 502 tunggal yang hilang berarti exit drop.
2. Baca body dan header respons: halaman error CDN akan menyebutkan CDN; pesan proxy singkat menyebut gateway.
3. Uji target dari koneksi Anda sendiri tanpa proxy.
4. Perlebar targeting dari kota ke negara dan bandingkan tingkat kegagalan.

*Uji URL yang gagal dengan curl (port HTTP, verbose)*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## Bagaimana cara memperbaiki a 502?

- **Retry dengan ID sesi baru** atau tanpa sesi, agar permintaan lewat exit lain.
- **Terapkan timeout wajar** supaya exit yang mati gagal cepat, tidak menggantung.
- **Catat 502 per host** dan jeda host yang angka 502-nya melonjak: kemungkinan sedang down.

*Python: coba ulang dengan Retry-After, backoff eksponensial, dan jitter*

```python
import random
import time

import requests

PROXY = "http://USERNAME:PASSWORD@gw.crawlrelay.com:7777"
PROXIES = {"http": PROXY, "https": PROXY}
RETRY_STATUSES = {429, 502, 503, 504}


def fetch(url, attempts=5, timeout=(10, 30)):
    for attempt in range(attempts):
        try:
            r = requests.get(url, proxies=PROXIES, timeout=timeout)
        except (requests.exceptions.ConnectionError, requests.exceptions.Timeout):
            r = None  # dropped exit, reset or timeout: a new connection gets a new exit
        if r is not None and r.status_code not in RETRY_STATUSES:
            return r
        retry_after = r.headers.get("Retry-After", "") if r is not None else ""
        if retry_after.isdigit():
            wait = int(retry_after)
        else:
            wait = min(60, 2 ** attempt) + random.uniform(0, 1)
        time.sleep(wait)
    raise RuntimeError("giving up on %s after %d attempts" % (url, attempts))
```

## Haruskah saya mencoba lagi setelah a 502?

Ya, coba ulang 502 tapi dengan exit baru dan batasan. Dua atau tiga kali dengan jeda pendek sudah cukup. 502 yang tetap terjadi di beberapa exit menunjukkan masalah pada target, dan retry lebih banyak tidak akan membantu. Pantau laju per host agar satu situs bermasalah tidak memenuhi antrean retry Anda.

## Bagaimana 502 Bad Gateway berlaku untuk CrawlRelay?

Dengan CrawlRelay, lepaskan ID sesi atau buat yang baru agar keluar biasanya lewat IP residential berbeda. Sesi sticky mengikat ke satu exit, jadi 502 dalam sesi sticky harus mengakhiri sesi itu di kode Anda. [Panduan sesi](https://crawlrelay.com/id/docs/sessions/) menjelaskan cara merotasi sesi dengan bersih.

Gateway: `gw.crawlrelay.com`, port 7777 (HTTP, HTTPS melalui CONNECT) dan port 7778 (SOCKS5). Format username: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Terkait: [504 Gateway Timeout](https://crawlrelay.com/id/docs/errors/504-gateway-timeout/) · [Connection reset](https://crawlrelay.com/id/docs/errors/connection-reset/) · [503 Service Unavailable](https://crawlrelay.com/id/docs/errors/503-service-unavailable/).

## 502 Bad Gateway: pertanyaan yang sering ditanyakan pengembang

### Apakah 502 kesalahan dari proxy atau dari situs web?

Keduanya bisa. Baca isi respons: halaman kesalahan CDN menyebutkan CDN, yang mengarah ke situs web. Jika 502 terjadi di setiap situs yang Anda coba, itu menunjuk ke proxy atau pengaturan Anda, sedangkan 502 di satu situs berarti masalah pada situs tersebut. Uji URL yang sama tanpa proxy untuk memastikan.

### Mengapa kesalahan 502 lebih sering terjadi dengan proxy residential?

Exit residential adalah koneksi rumah nyata, dan perangkat bisa mati, berpindah jaringan, atau kehilangan sinyal. Permintaan yang sedang terjadi saat itu bisa berakhir dengan 502 atau reset. Scraper yang baik menganggap ini normal dan mencoba ulang dengan exit baru, dengan batas kecil.

### Haruskah saya beralih ke sesi lengket untuk mengurangi 502?

Tidak. Sesi lengket membuat Anda tetap pada satu exit, jadi jika exit itu gagal, setiap permintaan dalam sesi itu juga gagal. Gunakan koneksi bergilir untuk halaman independen dan sesi lengket hanya untuk alur multi-langkah. Akhiri sesi lengket setelah 502 dan mulai sesi baru.

## Kesalahan proxy lain dalam referensi ini

- [401 Unauthorized vs 407](https://crawlrelay.com/id/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/id/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/id/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/id/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/id/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/id/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/id/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/id/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/id/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/id/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/id/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/id/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/id/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/id/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/id/docs/errors/ssl-wrong-version-number/)

**Proxy residensial dengan dokumentasi yang membahas kasus kegagalan** Proxy residensial CrawlRelay dari US$0,50/GB, lalu lintas yang tidak pernah kedaluwarsa. [Lihat harga](https://crawlrelay.com/id/pricing/) · [Mulai cepat](https://crawlrelay.com/id/docs/)

---

CrawlRelay: CrawlRelay adalah layanan proxy residensial dan proxy seluler 4G/5G yang berfokus pada pengembang untuk scraper dan pipeline data AI: trafik pay-as-you-go tanpa kedaluwarsa mulai dari US$0,50/GB, dibayar dengan crypto, tanpa perlu unggah ID. Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan crypto.
