KYC olmadan — kimlik, selfie veya belge istemez. Kripto ile ödeyin: BTC, USDT, USDC, ETH, SOL, LTC
Dil: Türkçe
Başlayın

Proxy hata referansı · HTTP durum kodları

Proxy ile 502 Bad Gateway: Anlamı ve çözüm yolları

HTTP durum kodu (5xx, sunucu hatası): her araçta tam hata mesajı, olası nedenler sırasıyla ve işe yarayan çözüm.

Son güncelleme: · 4 dk okuma

Hızlı cevap

Konut proxy ile 502 Bad Gateway ne anlama gelir?

502 Bad Gateway bir geçit ya da proxy'nin zincirdeki bir sonraki sunucudan geçersiz yanıt veya hiç yanıt alamaması anlamına gelir. CrawlRelay konut proxy'leriyle, 502 genellikle çıkış bağlantısının veya hedefin istek ortası başarısızlığıdır. Yeni bağlantıda bir kere deneyin. Eğer sadece bir site için devam ederse, sorun site kaynaklıdır; tüm sitelerde olursa ayarlarınızı kontrol edin.

502 Bad Gateway hızlı bakış

Hata502 Bad Gateway
TürHTTP durum kodu (5xx, sunucu hatası)
GönderenHedefin önünde proxy geçidi veya ters proxy
Tanımlandığı yerRFC 9110, section 15.6.3
Tekrar denemek ister misiniz?Evet, yeni bağlantı veya oturumda
İlk kontrolYeni IP'de bir kere deneyin; sürerse, proxy olmadan hedefi test edin

502 Bad Gateway ne anlama gelir?

RFC 9110, 502'yi bir geçidin arkadaki sunucunun kötü yanıt verdiğini belirtme yolu olarak tanımlar. Kazıma zincirinde en az iki geçit vardır: proxy ve çoğunlukla sitenin önündeki CDN veya yük dengeleyici. Her ikisi de 502 üretebilir ve yanıt gövdesi genellikle hangisi olduğunu anlatır.

Konut ağları bir bağlantı daha ekler. Çıkış gerçek bir ev bağlantısıdır ve cihaz bir isteğin ortasında ağı terk edebilir. Geçit geçerli bir yanıt gönderemez.

Python, curl, Node.js ve tarayıcılarda a 502 nasıl görünür?

Aynı başarısızlık her araçta farklı şekilde görünür. Loglarınızda aramanız gereken mesajlar şunlardır:

  • Python requests: status_code == 502, HTTPS hedef için ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 502 Bad Gateway'))
  • curl: curl: (56) CONNECT tunnel failed, response 502
  • Tarayıcılar: HTTPS için net::ERR_TUNNEL_CONNECTION_FAILED veya HTTP için basit hata sayfası
  • Scrapy: varsayılan yeniden dener çünkü 502 RETRY_HTTP_CODES içinde

a 502 neden olur?

Öncelikle en olası sebep:

  • **İstek ortasında çıkış havuzundan çıkış yapılması, konut ağlarında yaygındır.
  • **Hedefin bağlantıyı kapatması, çökmesi ya da hatalı yanıt dönmesi.
  • **Hedefin CDN'inin orijinal sunucuya ulaşamaması.
  • **Çıkış tarafında DNS hatası, örn. alan adı yazım hatası.
  • **Çok dar hedefleme, az sayıda çıkış bırakır; arızalar aynı küçük küme üzerinde tekrarlar.

a 502 nasıl adım adım teşhis edilir?

  1. İsteği yeni bir bağlantıda tekrar edin. Kaybolan bir 502 muhtemelen düşen çıkıştır.
  2. Yanıt gövdesi ve başlıklarını okuyun: CDN hata sayfası CDN'yi, kısa proxy mesajı geçidi gösterir.
  3. Proxy olmadan kendi bağlantınızdan hedefi test edin.
  4. Hedefleme kapsamını şehirden ülkeye genişletip hata oranlarını karşılaştırın.
Başarısız URL'yi curl ile test edin (HTTP portu, detaylı çıktı)
# 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

a 502 nasıl düzeltilir?

  • **Yeni oturum kimliği ile ya da olmadan tekrar deneyin, böylece istek farklı bir çıkıştan gider.
  • **Mantıklı zaman aşımı ayarlayın, ölü çıkış hemen başarısız olsun, takılmasın.
  • **Sunucu başı 502'leri kaydedin ve oranı artan sunucuyu duraklatın; muhtemelen yanıt vermiyor.
Python: Retry-After, üssel gecikme ve jitter ile tekrar deneme
import random
import time

import requests

PROXY = "http://USERNAME:[email protected]: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))

a 502 sonrası tekrar denenmeli mi?

Evet, 502'yi yeniden deneyin, ama yeni çıkışla ve limitli. İki-üç deneme kısa arayla yeterlidir. Birkaç çıkışta da devam eden 502 hedef kaynaklıdır ve daha fazla deneme fayda sağlamaz. Sunucu başı oranı izleyin ki bir arızalı site yeniden deneme kuyruğunu doldurmasın.

502 Bad Gateway CrawlRelay için nasıl geçerli?

CrawlRelay ile, oturum ID'sini bırakın ya da yenisini oluşturun; böylece genelde farklı bir konut IP'si üzerinden çıkış yapılır. Yapışkan oturum sizi tek bir çıkışa bağlar, bu yüzden yapışkan oturum içindeki 502 o oturumun kodda sonlanması demektir. Oturumlar kılavuzu, oturumların temiz dönüşümünü açıklar.

Gateway: gw.crawlrelay.com, port 7777 (HTTP, HTTPS CONNECT üzerinden) ve port 7778 (SOCKS5). Kullanıcı adı formatı: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. İlgili: 504 Gateway Timeout · Connection reset · 503 Service Unavailable.

502 Bad Gateway: geliştiricilerin sorduğu sorular

502 hatası proxy'nin mi yoksa web sitesinin mi hatasıdır?

Her ikisi de olabilir. Yanıt gövdesini okuyun: CDN hata sayfaları CDN'i belirtir, bu da web sitesini işaret eder. Denediğiniz her sitede 502 alıyorsanız sorun proxy'de veya kurulumunuzdadır, tek bir sitede 502 varsa sorun o sitededir. Emin olmak için aynı URL'yi proxy olmadan test edin.

Neden 502 hataları ev tipi proxylerde daha yaygındır?

Ev tipi çıkışlar gerçek ev bağlantılarıdır ve cihazlar çevrimdışı olabilir, ağ değiştirir veya sinyal kaybeder. Böyle durumlarda uçuşta olan istek 502 veya bağlantı sıfırlaması ile sona erer. İyi bir kazıyıcı bunları normal kabul edip yeni bir çıkışta yeniden dener, küçük bir sınırla.

502 hatalarını azaltmak için yapışkan oturumlara geçmeli miyim?

Hayır. Yapışkan oturum sizi bir çıkışta tutar, çıkış başarısız olursa oturumdaki her istek de başarısız olur. Bağımsız sayfalar için dönen bağlantılar, çok adımlı işlemler için yapışkan oturumlar kullanın. 502 sonra yapışkan oturumu sonlandırıp yenisini başlatın.

Bu referanstaki diğer proxy hataları

HTTP durum kodları

Tarayıcı ve istemci hataları

Bağlantı ve TLS hataları

Başarısızlık durumları için dokümanlı konut proxy'ler

$0,50/GB sitesinden süresi hiç bitmeyen CrawlRelay konut proxy

$0,50/GB · KYC olmadan

Başlayın