Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan crypto: BTC, USDT, USDC, ETH, SOL, LTC
Bahasa: Bahasa Indonesia
Mulai sekarang

Referensi kesalahan proxy · Error koneksi dan TLS

Perbaikan SSL WRONG_VERSION_NUMBER lewat proxy

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

Terakhir diperbarui: · 4 baca dalam menit

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

KesalahanSSL: WRONG_VERSION_NUMBER
TipeError TLS di klien
Dikirim olehPerpustakaan TLS Anda, saat sisi lain tidak berbicara TLS
Didefinisikan dalamTLS 1.3: RFC 8446; HTTP proxy CONNECT: RFC 9110, section 9.3.6
Mencoba lagi?Tidak. Ini kesalahan konfigurasi
Periksa pertamaPerhatikan 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)
# 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:[email protected]: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 · Tidak dapat terhubung ke proxy · Panduan 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

Kode status HTTP

Kesalahan browser dan klien

Error koneksi dan TLS

Proxy residensial dengan dokumentasi yang membahas kasus kegagalan

Proxy residensial CrawlRelay dari US$0,50/GB, lalu lintas yang tidak pernah kedaluwarsa.

Dari US$0,50/GB · tanpa KYC

Mulai sekarang