502 Bad Gateway-proxyfel: ta reda på vem som skickade det
Updated:
502 Bad Gateway innebär att en server i mitten – vilket kan vara din proxy eller webbplatsens egen frontend-server – vidarebefordrade förfrågan och inte fick ett giltigt svar tillbaka. Samma felkod, två helt olika orsaker, så ta reda på vem som returnerar 502 innan du försöker åtgärda något.
Så ser ett 502-fel från proxyn ut
Vi lät vår testproxy svara med 502 och loggade svaren, omskrivna med 203.0.113.10:8080 och user123:pass456:
- HTTPS-webbplats:
curl -x http://user123:[email protected]:8080 https://example.comskriver utcurl: (56) CONNECT tunnel failed, response 502. - Vanlig HTTP-webbplats: curl tar emot statuskod
502. - När Chrome läser in en HTTPS-sida via den proxyn rapporteras
ERR_TUNNEL_CONNECTION_FAILEDoch ingen 502-sida visas alls. - Proxytestaren visar
HTTP 502; andra koder visas på samma sätt somHTTP <code>.
Tecknet: en 502-sida på en HTTPS-webbplats
För HTTPS-webbplatser öppnar proxyn bara en tunnel; den kan inte skjuta in en egen sida i en krypterad anslutning. Om proxyn nekar rapporterar Chrome ERR_TUNNEL_CONNECTION_FAILED. När du ser en hel "502 Bad Gateway"-sida renderas på en https://-adress kommer den därför nästan säkert från webbplatsens server, inte från proxyn.
Bekräfta genom att inaktivera proxyn och ladda samma sida igen. Om det fortfarande är 502 har webbplatsen problem, och det enda du kan göra är att vänta eller kontakta webbplatsens ägare.
När proxyn faktiskt skickar 502-felet
- Målet svarar inte proxyn. Webbplatsen är nere, överbelastad eller vägrar anslutningar från proxyns IP-intervall.
- Ett felaktigt eller oupplösligt domännamn. Proxyn kan inte hitta webbplatsens adress, så det finns inget att vidarebefordra till.
- Målporten är stängd. Förfrågan riktas mot en port som webbplatsen inte lyssnar på.
- Ett tillfälligt fel på proxysidan. Mer sällsynt; du märker det när alla webbplatser returnerar 502 via en proxy men fungerar via en annan.
Vad du ska göra i respektive miljö
- Profiler i Chrome eller antidetect: öppna en annan stor webbplats i samma profil. Om den läses in fungerar proxyn och problemet ligger hos den ursprungliga webbplatsen.
- Telefoner: stäng av Wi-Fi-proxyn och prova sidan över mobildata för att se om webbplatsen fallerar för alla.
- curl: lägg till
-vför att se att 502 anländer direkt efterCONNECT, och upprepa sedan med en annan domän för att ringa in problemet. - Python requests: kontrollera
response.status_code == 502för HTTP-sidor och försök igen efter en paus; för HTTPS-sidor genereras den misslyckade tunneln somrequests.exceptions.ProxyError. Sprid ut återförsöken i stället för att överbelasta webbplatsen.
Steg för steg
- 1
Notera var 502-felet visas
En 502-sida på en https-adress tyder på webbplatsen. Ett tunnelfel i Chrome pekar mot proxyvägen.
- 2
Inaktivera proxyn och ladda om
Ett 502-fel utan proxyn innebär att webbplatsen själv ligger nere.
- 3
Läs in en annan webbplats via samma proxy
Om andra webbplatser fungerar är proxyn felfri och det är bara den ursprungliga webbplatsen som nekar eller är nere.
- 4
Testa proxyn i proxytestaren
Klistra in raden i proxytestaren. Om varje webbplats ger
HTTP 502, öppna ett ärende med resultatet.
Vanliga frågor
Betyder 502 att min proxy har löpt ut?
Vanligtvis inte. En utgången eller stoppad proxy brukar snarare ge anslutningsfel eller en timeout; se proxy-timeout.
Varför returnerar bara en webbplats 502 via proxyn?
Den webbplatsen kan ha problem eller inte svara på anslutningar från proxyns IP-adress. Försök senare eller använd en IP-adress i ett annat land.
Vad är skillnaden mellan 502 och 504?
502 innebär ett ogiltigt svar eller att inget svar kunde hämtas; 504 betyder att mellanserverns väntetid löpte ut. Testaren visar båda som HTTP <code>.
Min skrapa får enstaka 502-fel. Bör jag byta proxys?
Enstaka 502-fel tyder oftast på ett överbelastat mål. Sänk anropsfrekvensen och lägg till fördröjda återförsök innan du byter proxys; se proxys för web scraping.
Privata IP-adresser, inte delade med främlingar
VinaProxy privata proxys hjälper dig att undvika att en IP blockeras på grund av att någon annan använde den.
Se priser