# Perbaikan SSL WRONG_VERSION_NUMBER lewat proxy

> [SSL: WRONG_VERSION_NUMBER] melalui proxy biasanya berarti URL proxy https:// pada port proxy HTTP biasa. Perbaikan satu baris untuk Python dan Node.

- URL: https://crawlrelay.com/id/docs/errors/ssl-wrong-version-number/
- Terakhir diperbarui: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Error TLS di klien: pesan tepat di tiap alat, penyebab yang mungkin secara urut, dan perbaikan yang berhasil.

**Jawaban cepat — Apa arti SSL: WRONG_VERSION_NUMBER dengan proxy?**

**[SSL: WRONG_VERSION_NUMBER]** melalui proxy hampir selalu berarti klien Anda memulai handshake TLS dengan sesuatu yang menjawab dalam teks biasa. Penyebab umum adalah URL proxy `https://` yang menunjuk ke port proxy HTTP biasa. Dengan CrawlRelay, tulis `http://` di depan alamat gateway untuk target HTTP dan HTTPS; HTTPS situs tetap berfungsi lewat tunnel.

## SSL: WRONG_VERSION_NUMBER sekilas

| Atribut | Nilai |
| --- | --- |
| Kesalahan | SSL: WRONG_VERSION_NUMBER |
| Tipe | Error TLS di klien |
| Dikirim oleh | Perpustakaan TLS Anda, saat sisi lain tidak berbicara TLS |
| Didefinisikan dalam | TLS 1.3: RFC 8446; HTTP proxy CONNECT: RFC 9110, section 9.3.6 |
| Mencoba lagi? | Tidak. Ini kesalahan konfigurasi |
| Periksa pertama | Perhatikan skema di depan URL proxy Anda |

## Apa arti SSL: WRONG_VERSION_NUMBER?

TLS mulai dengan rekaman handshake. Jika byte yang kembali adalah respons HTTP, perpustakaan TLS membaca nomor versi yang nggak masuk akal dan berhenti. Python melaporkan `WRONG_VERSION_NUMBER`; kalimat persisnya berbeda menurut versi OpenSSL dan klien.

Skema URL proxy menentukan cara klien berbicara ke proxy. `http://` berarti HTTP biasa ke proxy, diikuti tunnel `CONNECT` dan TLS dengan situs. `https://` berarti TLS dengan proxy, yang berfungsi hanya jika port proxy mengharapkan TLS.

## Seperti apa SSL: WRONG_VERSION_NUMBER 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 / urllib3 2.x:** `SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number'))` dibungkus dalam `ProxyError`
- **httpx:** `httpx.ConnectError: [SSL: WRONG_VERSION_NUMBER] wrong version number`
- **curl:** `curl: (35) ... wrong version number` ketika Anda tulis `-x https://` untuk proxy biasa
- **Node.js:** `EPROTO ... wrong version number` di pesan error

## Apa penyebab SSL: WRONG_VERSION_NUMBER?

Kemungkinan besar pertama:

- **`https://` di depan alamat proxy** pada port yang berbicara HTTP biasa. Ini kasus paling umum.
- **Setting salin-tempel** dari penyedia yang port proxy-nya mengharapkan TLS.
- **`https://` pada URL dengan port 80**, atau `http://` pada port situs yang mengharapkan TLS, di luar proxy mana pun.
- **Variabel lingkungan** seperti `HTTPS_PROXY=https://...` yang diturunkan ke kode Anda.

## Bagaimana cara mendiagnosis SSL: WRONG_VERSION_NUMBER langkah demi langkah?

1. Cetak URL proxy yang kode Anda pakai dan periksa skemanya.
2. Periksa lingkungan untuk `HTTPS_PROXY` dan `ALL_PROXY`.
3. Jalankan tes curl di bawah dengan `-x http://` dan pastikan berhasil.
4. Jika curl berhasil tapi kode Anda tidak, kode atau lingkungan Anda masih pakai `https://`.

*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 SSL: WRONG_VERSION_NUMBER?

- **Gunakan `http://` pada URL proxy** di setiap kunci: `{"http": "http://...", "https": "http://..."}`.
- **Biarkan verifikasi TLS aktif.** Perbaikannya di skema, bukan di `verify=False`.
- **Perbaiki variabel lingkungan** daripada menimpanya di satu skrip.

## Haruskah saya mencoba lagi setelah SSL: WRONG_VERSION_NUMBER?

Jangan ulangi error ini: setiap percobaan selalu gagal dengan cara yang sama. Ini perbaikan konfigurasi satu karakter.

## Bagaimana SSL: WRONG_VERSION_NUMBER berlaku untuk CrawlRelay?

Port HTTP CrawlRelay adalah port proxy HTTP biasa yang membawa situs HTTPS melalui tunnel `CONNECT`. TLS berjalan ujung-ke-ujung antara klien dan situs di dalam tunnel, jadi gateway tidak perlu URL proxy `https://`.

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: [Verifikasi sertifikat SSL gagal](https://crawlrelay.com/id/docs/errors/ssl-certificate-verify-failed/) · [Tidak dapat terhubung ke proxy](https://crawlrelay.com/id/docs/errors/cannot-connect-to-proxy/) · [Panduan Python](https://crawlrelay.com/id/docs/python/).

## SSL: WRONG_VERSION_NUMBER: pertanyaan yang sering ditanyakan pengembang

### Apakah trafik saya tidak terenkripsi jika saya pakai URL proxy http://?

Tidak untuk situs HTTPS. Skema `http://` hanya meliputi pertukaran CONNECT singkat ke proxy, yang termasuk kredensial proxy Anda. Setelah itu, klien langsung menjalankan TLS dengan situs dalam tunnel, dan proxy hanya meneruskan byte terenkripsi. Situs `http://` biasa tidak terenkripsi baik dengan atau tanpa proxy.

### Kenapa ini mulai terjadi setelah upgrade urllib3?

urllib3 2.x mendukung proxy HTTPS, jadi mengambil URL proxy `https://` secara harfiah dan memulai TLS dengan proxy. Setup lama kadang berhasil secara kebetulan dengan skema salah. Tulis `http://` untuk port proxy HTTP biasa dan error hilang.

### Haruskah saya set verify=False supaya errornya hilang?

Tidak. Mematikan pengecekan sertifikat tidak memperbaiki skema salah, dan membahayakan Anda dengan intersepsi di setiap permintaan. Perbaiki skema URL proxy. Biarkan verifikasi aktif di produksi.

## 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.
