Ohne KYC — keine ID, kein Selfie, keine Dokumente. Mit Krypto bezahlen: BTC, USDT, USDC, ETH, SOL, LTC
Sprache: Deutsch
Jetzt starten

Proxy-Fehlerreferenz · HTTP-Statuscodes

502 Bad Gateway über Proxy: Bedeutung und wie man es behebt

HTTP-Statuscode (5xx, Serverfehler): die genaue Meldung in jedem Tool, wahrscheinliche Ursachen in Reihenfolge und die Lösung, die funktioniert.

Zuletzt aktualisiert: · 5 Min. Lesezeit

Kurze Antwort

Was bedeutet 502 Bad Gateway bei einem Proxy?

502 Bad Gateway bedeutet, dass ein Gateway oder Proxy eine ungültige oder keine Antwort vom nächsten Server in der Kette erhielt. Über CrawlRelay residential Proxies bedeutet ein 502 meist, dass die Exit-Verbindung oder das Ziel mitten in der Anfrage ausfiel. Versuchen Sie es einmal mit neuer Verbindung erneut. Wenn 502s nur bei einer Seite auftreten, liegt das Problem bei der Seite; wenn alle Seiten betroffen sind, prüfen Sie Ihre Konfiguration.

502 Bad Gateway auf einen Blick

Fehler502 Bad Gateway
TypHTTP-Statuscode (5xx, Serverfehler)
Gesendet vonDas Proxy-Gateway oder ein Reverse Proxy vor dem Ziel
Definiert inRFC 9110, section 15.6.3
Noch einmal versuchen?Ja, bei einer neuen Verbindung oder Session
Zuerst prüfenBei einem 502 Retry mit neuer IP; wenn es bleibt, testen Sie das Ziel ohne Proxy

Was bedeutet 502 Bad Gateway?

RFC 9110 beschreibt 502 als eine Meldung des Gateways, dass der dahinterliegende Server eine schlechte Antwort lieferte. In der Scraping-Kette gibt es mindestens zwei Gateways: den Proxy und oft ein CDN oder Load Balancer vor der Website. Beide können 502 verursachen, der Antwort-Body zeigt meist, welches es ist.

Residential-Netzwerke fügen noch eine weitere Stufe hinzu. Der Exit ist eine echte Haushaltsleitung, und ein Gerät kann das Netzwerk mitten in einer Anfrage verlassen. Dann hat das Gateway nichts mehr Gültiges zu senden.

Wie sieht a 502 in Python, curl, Node.js und Browsern aus?

Der gleiche Fehler wird in jedem Tool anders angezeigt. Hier sind die Meldungen, nach denen Sie in Ihren Logs suchen sollten:

  • Python requests: status_code == 502 oder ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 502 Bad Gateway')) für HTTPS-Ziele
  • curl: curl: (56) CONNECT tunnel failed, response 502
  • Browser: net::ERR_TUNNEL_CONNECTION_FAILED auf HTTPS, oder eine einfache Fehlerseite auf HTTP
  • Scrapy: Standardmäßig Wiederholungsversuche, da 502 in RETRY_HTTP_CODES

Was verursacht a 502?

Wahrscheinlich zuerst:

  • Der Exit verließ den Pool während der Anfrage, was in residential Netzen passiert.
  • Das Ziel schloss die Verbindung, stürzte ab oder gab eine fehlerhafte Antwort zurück.
  • Das CDN des Ziels versagte, seinen Origin-Server zu erreichen.
  • DNS-Ausfall am Exit für das Ziel, z. B. Tippfehler im Hostnamen.
  • Sehr enge Zielauswahl, die wenige Exits lässt, führt zu wiederholtem Versagen bei derselben kleinen Menge.

Wie diagnostiziere ich a 502 Schritt für Schritt?

  1. Wiederholen Sie die Anfrage mit neuer Verbindung. Ein einmaliges 502, das verschwindet, war ein abgebrochener Exit.
  2. Lesen Sie Antwort-Body und Header: eine CDN-Fehlerseite nennt das CDN; eine kurze Proxy-Botschaft nennt das Gateway.
  3. Testen Sie das Ziel ohne Proxy über Ihre eigene Verbindung.
  4. Weiten Sie das Targeting von Stadt auf Land und vergleichen Sie die Fehlerquote.
Testen Sie die fehlerhafte URL mit curl (HTTP-Port, ausführlich)
# 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

Wie behebe ich a 502?

  • Retry mit neuer Session-ID oder ohne, damit die Anfrage über einen anderen Exit geht.
  • Setzen Sie vernünftige Timeouts, damit ein toter Exit schnell fehlschlägt anstatt zu hängen.
  • Protokollieren Sie 502 pro Host und pausieren Sie Hosts, deren Rate an 502 ansteigt: Vermutlich sind sie down.
Python: Wiederholung mit Retry-After, exponentiellem Backoff und Jitter
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))

Soll ich nach a 502 einen erneuten Versuch starten?

Ja, retry bei 502, aber mit neuem Exit und einem Limit. Zwei oder drei Versuche mit kurzem Backoff genügen. Ein 502, das durch mehrere Exits besteht, ist ein Zeichen des Ziels; mehr Wiederholungen bringen dann keinen Vorteil. Verfolgen Sie die Rate pro Host, damit eine fehlerhafte Seite nicht Ihre Wiederholungswarteschlange überfüllt.

Wie wirkt sich 502 Bad Gateway auf CrawlRelay aus?

Mit CrawlRelay lassen Sie die Session-ID fallen oder erzeugen eine neue, um normalerweise über eine andere residential IP zu gehen. Eine Sticky Session bindet Sie an einen Exit, deshalb sollte ein 502 innerhalb einer Sticky Session diese in Ihrem Code beenden. Der Sessions-Guide erklärt, wie man eine Session sauber rotiert.

Gateway: gw.crawlrelay.com, Port 7777 (HTTP, HTTPS über CONNECT) und Port 7778 (SOCKS5). Benutzername im Format: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. Verwandt: 504 Gateway Timeout · Connection reset · 503 Service Unavailable.

502 Bad Gateway: Fragen, die Entwickler stellen

Liegt ein 502-Fehler am Proxy oder an der Website?

Beides ist möglich. Lesen Sie den Antworttext: CDN-Fehlerseiten nennen die CDN, also die Website. Ein 502 bei jeder getesteten Seite deutet auf den Proxy oder Ihr Setup hin, während ein 502 nur bei einer Seite auf diese Seite zeigt. Testen Sie die gleiche URL ohne Proxy, um sicherzugehen.

Warum treten 502-Fehler bei Residential Proxies häufiger auf?

Residential Exits sind echte Heimanschlüsse, deren Geräte offline gehen, das Netz wechseln oder Signal verlieren können. Eine laufende Anfrage wird dann mit einem 502 oder Reset beendet. Ein guter Scraper behandelt dies als normal und versucht es mit einem neuen Exit erneut, mit einem kleinen Limit.

Sollte ich auf sticky Sessions wechseln, um 502er zu reduzieren?

Nein. Eine sticky Session hält Sie auf einem Exit, fällt dieser aus, schlagen alle Anfragen innerhalb der Session fehl. Nutzen Sie rotierende Verbindungen für unabhängige Seiten und sticky Sessions nur für mehrstufige Abläufe. Beenden Sie eine sticky Session nach einem 502 und starten Sie eine neue.

Weitere Proxy-Fehler in diesem Leitfaden

HTTP-Statuscodes

Browser- und Clientfehler

Verbindungs- und TLS-Fehler

Residential-Proxys mit Dokumentationen, die Fehlerfälle abdecken

CrawlRelay Residential-Proxys von 0,50 $/GB, Traffic, der nie abläuft.

Ab 0,50 $/GB · ohne KYC

Jetzt starten