Zonder KYC — geen ID, geen selfie, geen documenten. Betaal met crypto: BTC, USDT, USDC, ETH, SOL, LTC
Taal: Nederlands
Aan de slag

Proxy foutreferentie · HTTP-statuscodes

504 Gateway Timeout via proxy: oorzaken en oplossingen

HTTP-statuscode (5xx, serverfout): het exacte bericht in elk hulpmiddel, de waarschijnlijke oorzaken in volgorde, en de oplossing die werkt.

Laatst bijgewerkt: · 4 min leestijd

Kort antwoord

Wat betekent 504 Gateway Timeout bij een proxy?

504 Gateway Timeout betekent dat een gateway, zoals de proxy of de CDN van de site, te lang heeft gewacht op de volgende server en het opgeeft. Via CrawlRelay residential proxies is de trage schakel meestal de target of de home-verbinding van de exit. Probeer één keer opnieuw via een nieuwe exit, hou pagina's licht en stel je eigen client-timeouts in zodat een trage aanvraag faalt volgens jouw voorwaarden.

504 Gateway Timeout in één oogopslag

Fout504 Gateway Timeout
TypeHTTP-statuscode (5xx, serverfout)
Verzonden doorDe proxy gateway of een CDN voor de target
Gedefinieerd inRFC 9110, section 15.6.5
Opnieuw proberen?Ja, één of twee keer op een nieuwe exit
Eerst controlerenMeet dezelfde aanvraag zonder de proxy

Wat betekent 504 Gateway Timeout?

RFC 9110 definieert 504 als een gateway die geen tijdige reactie kreeg van de upstream server die nodig was. Het is de timeout tweeling van 502: 502 betekent een fout antwoord, 504 betekent geen antwoord op tijd.

Een residential proxy voegt een hop toe die een direct verzoek niet heeft: je verkeer gaat naar de gateway, dan naar een thuisverbinding, dan naar de site. Elke hop voegt vertraging toe en de traagste bepaalt de totale delay.

Hoe ziet a 504 eruit in Python, curl, Node.js en browsers?

Dezelfde fout verschijnt anders in elk hulpmiddel. Dit zijn de berichten om in je logs te zoeken:

  • Python requests: status_code == 504, of Tunnel connection failed: 504 Gateway Timeout voor HTTPS targets
  • curl: curl: (56) CONNECT tunnel failed, response 504
  • Scrapy: standaard opnieuw geprobeerd (504 staat in RETRY_HTTP_CODES)
  • CDN-gehoste sites: een foutpagina van de CDN met status 504

Wat veroorzaakt a 504?

Waarschijnlijk eerst:

  • Een trage target, bijvoorbeeld een zoekpagina die meerdere seconden nodig heeft om te laden.
  • Een trage exit, zoals een zwakke thuisverbinding of een drukke mobiele cel.
  • Grote responses die langer duren dan de geduld van de gateway toestaat.
  • De originele site zelf die timeouts heeft achter zijn CDN, die dan 504 teruggeeft.

Hoe diagnosticeer ik a 504 stap voor stap?

  1. Meet het verzoek zonder proxy. Is het thuis ook traag, dan is de target traag.
  2. Probeer opnieuw op een nieuwe exit en vergelijk de tijden.
  3. Check de grootte van de response: een pagina van 5 MB is een ander probleem dan eentje van 50 KB.
  4. Lees de body om te zien of de CDN of de proxy de foutpagina schreef.
Test de foutieve URL met curl (HTTP-poort, uitvoerig)
# 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

Hoe los ik a 504 op?

  • Stel expliciete timeouts in: ongeveer 10 seconden om te verbinden en 30 tot 60 seconden om te lezen bij normale pagina's.
  • Probeer één of twee keer opnieuw op een nieuwe exit.
  • Vraag minder aan: sla afbeeldingen en media over als je alleen de HTML of JSON API achter de pagina nodig hebt.
  • Plan zware pagina's buiten piekuren voor het land van de target.
Python httpx: expliciete connect-, lees-, schrijf- en pool-timeouts
import httpx

proxy = "http://USERNAME:[email protected]:7777"
timeout = httpx.Timeout(connect=10.0, read=30.0, write=10.0, pool=10.0)

with httpx.Client(proxy=proxy, timeout=timeout) as client:
    try:
        r = client.get("https://api.ipify.org")
        print(r.status_code, r.text)
    except httpx.TimeoutException as exc:
        print("timed out:", type(exc).__name__)  # ConnectTimeout, ReadTimeout...

Moet ik opnieuw proberen na a 504?

Probeer een 504 één of twee keer opnieuw bij een verse exit, met een korte pauze. Als dezelfde URL meerdere exits lang time-out geeft, is het doel traag of overbelast: verlaag je snelheid op die host of probeer later opnieuw. Het verlengen van je client-time-out helpt alleen als de gateway-time-out niet de limiet is.

Hoe geldt 504 Gateway Timeout voor CrawlRelay?

Elke nieuwe verbinding met CrawlRelay zonder sessie-ID krijgt meestal een andere residentiële exit, dus een retry test normaal gesproken een andere thuisverbinding. Voor trage doelen, houd payloads klein en meet de tijd tot de eerste byte apart van de totale downloadtijd.

Gateway: gw.crawlrelay.com, poort 7777 (HTTP, HTTPS via CONNECT) en poort 7778 (SOCKS5). Gebruikersnaamformaat: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. Gerelateerd: 502 Bad Gateway · Lees time-out · 503 Service Unavailable.

504 Gateway Timeout: vragen die ontwikkelaars stellen

Wat is het verschil tussen 502 en 504?

Beide komen van een gateway. Een 502 betekent dat de server erachter een ongeldig antwoord stuurde of de verbinding verbrak. Een 504 betekent dat er niets op tijd werd gestuurd. Bij residentiële proxies wijst 502 vaak op een verbroken exit en 504 op een traag doel of een trage thuisverbinding.

Kan ik de time-out van de proxy verhogen?

Je beheert de time-outs van je client, niet de interne time-outs van de gateway. Stel expliciet je connectie- en leertijd-outs in zodat langzame verzoeken voorspelbaar falen, opnieuw proberen via een nieuwe exit, en maak pagina’s lichter. Als een doel zeer lange responsen nodig heeft, haal dan de API of een lichtere pagina op.

Zijn mobiele proxies trager dan residentiële?

Dat kunnen ze zijn, omdat een mobiele exit een cel deelt met andere gebruikers en de snelheid wisselt met signaal en belasting. Gebruik mobiele IP’s voor doelen die ze nodig hebben en residentiële IP’s voor bulk crawling. Meet eerst je eigen reactietijden per type exit voordat je beslist.

Andere proxyfouten in deze referentie

HTTP-statuscodes

Browser- en clientfouten

Verbindings- en TLS-fouten

Residentiële proxy's met documentatie die de faalgevallen beschrijft

CrawlRelay residentiële proxy's van US$ 0,50/GB, verkeer dat nooit verloopt.

Vanaf US$ 0,50/GB · zonder KYC

Aan de slag