שגיאות פרוקסי 502 Bad Gateway: גלו מי שלח אותן
Updated:
השגיאה 502 Bad Gateway מצביעה על כך ששרת ביניים – בין אם מדובר בפרוקסי שלך או בשרת ה-front-end של האתר – העביר את הבקשה אך לא קיבל תשובה תקינה. אותו קוד שגיאה, אך שני גורמים שונים לחלוטין. לכן, לפני שמנסים לתקן, חשוב להבין מי מחזיר את ה-502.
איך נראית שגיאת 502 שמקורה בפרוקסי
הגדרנו את שרת הפרוקסי לבדיקה שיחזיר 502 ותיעדנו את התגובות, שנכתבו מחדש עם 203.0.113.10:8080 ו-user123:pass456:
- אתר HTTPS: הפקודה
curl -x http://user123:[email protected]:8080 https://example.comמדפיסהcurl: (56) CONNECT tunnel failed, response 502. - אתר HTTP רגיל: curl מקבל סטטוס
502. - דפדפן Chrome שטוען עמוד HTTPS דרך הפרוקסי הזה מציג
ERR_TUNNEL_CONNECTION_FAILEDולא מציג עמוד 502 כלל. - הכלי proxy checker מציג
HTTP 502; קודים אחרים מוצגים באופן דומה בתבניתHTTP <code>.
סימן ההיכר: עמוד 502 באתר HTTPS
באתרי HTTPS הפרוקסי רק פותח מנהרה (tunnel); הוא אינו יכול להזריק עמוד משלו לתוך חיבור מוצפן. אם הפרוקסי דוחה את החיבור, Chrome מציג ERR_TUNNEL_CONNECTION_FAILED. לכן, כשמופיע עמוד "502 Bad Gateway" מלא בכתובת https://, מקורו כמעט בוודאות בשרת של האתר עצמו, ולא בפרוקסי.
כדי לוודא זאת, כבו את הפרוקסי וטענו את העמוד מחדש. אם שגיאת 502 עדיין מופיעה, האתר חווה תקלה וכל שנותר לעשות הוא להמתין או ליידע את בעלי האתר.
מתי הפרוקסי הוא זה שבאמת שולח את ה-502
- היעד אינו עונה לפרוקסי. האתר למטה, בעומס יתר, או חוסם חיבורים מטווח ה-IP של הפרוקסי.
- שגיאת הקלדה בדומיין או דומיין שלא נפתר. הפרוקסי אינו מצליח לאתר את כתובת האתר, ולכן אין לאן להעביר את הבקשה.
- פורט היעד סגור. הבקשה נשלחת לפורט שאינו פעיל באתר.
- תקלה זמנית בצד הפרוקסי. מקרה נדיר יותר; תבחינו בכך כאשר כל אתר מחזיר 502 דרך פרוקסי מסוים, אך עובד דרך פרוקסי אחר.
מה לעשות בכל סביבת עבודה
- פרופילי Chrome או דפדפני antidetect: פתחו אתר גדול אחר באותו פרופיל. אם הוא נטען, הפרוקסי תקין והבעיה היא באתר המקורי.
- טלפונים ניידים: כבו את הפרוקסי בחיבור ה-Wi-Fi ונסו לטעון את העמוד דרך הגלישה הסלולרית, כדי לבדוק אם האתר מושבת עבור כולם.
- curl: הוסיפו
-vכדי לראות את ה-502 מגיע מיד לאחר פקודת ה-CONNECT, ולאחר מכן חזרו על הפעולה עם דומיין אחר כדי לבודד את מקור התקלה. - Python requests: עבור עמודי HTTP בדקו
response.status_code == 502ונסו שוב לאחר השהיה; בעמודי HTTPS כשל במנהרה נזרק כשגיאתrequests.exceptions.ProxyError. מומלץ לרווח בין הניסיונות החוזרים במקום להציף את האתר בבקשות.
שלב אחר שלב
- 1
שימו לב היכן מופיעה שגיאת ה-502
עמוד 502 בכתובת https מצביע על בעיה באתר. שגיאת tunnel ב-Chrome מצביעה על תקלה בנתיב הפרוקסי.
- 2
כבו את הפרוקסי וטענו מחדש
שגיאת 502 ללא שימוש בפרוקסי מעידה על כך שהאתר עצמו מושבת.
- 3
טענו אתר אחר דרך אותו פרוקסי
אם אתרים אחרים נטענים בהצלחה, הפרוקסי תקין ורק האתר המקורי חוסם את החיבור או אינו זמין.
- 4
בדקו את הפרוקסי בכלי הבדיקה
הדביקו את השורה ב-proxy checker. אם כל אתר מחזיר
HTTP 502, פתחו פניית שירות וצרפו את התוצאה.
שאלות נפוצות
האם שגיאת 502 מעידה על כך שתוקף הפרוקסי שלי פג?
לרוב לא. פרוקסי שפג תוקפו או הופסק גורם בדרך כלל לשגיאת חיבור או לפסק זמן; ראו proxy timeout.
מדוע רק אתר אחד מחזיר 502 דרך הפרוקסי?
ייתכן שהאתר חווה תקלה או אינו עונה לחיבורים מכתובת ה-IP של הפרוקסי. נסו שוב מאוחר יותר, או השתמשו ב-IP ממדינה אחרת.
מה ההבדל בין שגיאת 502 לשגיאת 504?
קוד 502 מציין שהתקבלה תגובה לא חוקית או שלא התקבלה תגובה כלל; קוד 504 מציין ששרת הביניים המתין זמן רב מדי. כלי הבדיקה מציג את שתיהן בתבנית HTTP <code>.
ה-scraper שלי מקבל שגיאות 502 מדי פעם. האם כדאי להחליף שרתי פרוקסי?
שגיאות 502 אקראיות מעידות לרוב על עומס ביעד. האטו את קצב הבקשות והוסיפו השהיות בין ניסיונות חוזרים לפני החלפת שרתי הפרוקסי; ראו proxies for web scraping.
כתובות IP פרטיות, ללא שיתוף עם זרים
פרוקסי פרטי של VinaProxy מסייע לך להימנע מחסימת IP שנגרמה משימוש של אדם אחר.
צפו במחירים