תיקון ERR_TUNNEL_CONNECTION_FAILED בעבודה עם פרוקסי
Updated:
כדי לטעון דף https:// דרך פרוקסי, הדפדפן שולח בקשת CONNECT וממתין שהפרוקסי יפתח מנהרה לאתר. השגיאה ERR_TUNNEL_CONNECTION_FAILED מופיעה כאשר הפרוקסי משיב לבקשה זו עם שגיאה במקום לאשר אותה. הבעיה היא ש-Chrome אינו מציין איזו שגיאה אירעה, ולכן המשימה הראשונה היא לגלות את הקוד האמיתי.
שני מקרים ששחזרנו
שני המקרים הורצו מול פרוקסי לבדיקה, המוצג כאן עם כתובת התיעוד 203.0.113.10:8080 ופרטי הגישה user123:pass456. בחלון רגיל של Chrome מקרה ה-407 אינו הופך לשגיאת מנהור; במקום זאת Chrome פותח חלונית התחברות עבור שם המשתמש והסיסמה של הפרוקסי. לכן שגיאות מנהור הנגרמות מקוד 407 מופיעות בעיקר בכלי אוטומציה ובאפליקציות שאינן יכולות לבקש סיסמה.
| הפרוקסי משיב ל-CONNECT עם | Chrome מציג | curl מציג |
|---|---|---|
407 ללא אפשרות להזין סיסמה (headless Chrome) | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 407 |
502 מכיוון שהפרוקסי אינו מצליח להגיע לאתר | ERR_TUNNEL_CONNECTION_FAILED | curl: (56) CONNECT tunnel failed, response 502 |
סיבות נפוצות, לפי סבירות
- סקריפט אוטומציה אינו שולח פרטי גישה. הדגל
--proxy-serverב-Chrome מקבל מארח ופורט בלבד, ללא user:pass. סביבת Puppeteer או Selenium במצב headless מקבלת 407 ומדווחת על כשל במנהור. - אפליקציה בנייד מאחורי פרוקסי Wi-Fi המוגן בסיסמה. באפליקציה אין חלונית התחברות, ולכן חיבור ה-HTTPS נכשל בזמן שהדפדפן ממשיך לפעול כרגיל.
- הפרוקסי אינו מצליח להגיע ליעד. הוא מחזיר 502 לבקשת CONNECT; המדריך 502 Bad Gateway בפרוקסי מפרט על כך בהרחבה.
- רק חלק מהאתרים נכשלים. אתר היעד חוסם או אינו זמין, בעוד שאתרים אחרים פועלים היטב דרך אותו פרוקסי.
זיהוי הקוד האמיתי באמצעות פקודת curl אחת
הריצו את הפקודה curl -v -x http://user123:[email protected]:8080 https://example.com עם הערכים שלכם. בדקו את השורה מיד לאחר > CONNECT example.com:443 HTTP/1.1: קוד 407 אומר שיש לפעול לפי מדריך 407; קוד 502 מצביע על בעיה ביעד או בנתיב שמאחורי הפרוקסי. אם אתם מעדיפים לא להשתמש בטרמינל, הדביקו את השורה ב-בודק הפרוקסי, המדווח על auth failed (407) או HTTP 502 במצבים אלה.
פתרונות לפי סביבת עבודה
- Puppeteer: השאירו את
--proxy-server=http://host:portבעת ההפעלה וקראו ל-page.authenticate({ username, password })לפני הניווט. דוגמה מלאה מופיעה ב-מדריך פרוקסי ל-Puppeteer. - Playwright: העבירו
proxy: { server, username, password }בעת הפעלת הדפדפן ו-Playwright יטפל ב-407 עבורכם; ראו Playwright. - Selenium: דפדפן Chrome אינו מקבל user:pass בשורת הפקודה; ב-מדריך Selenium מוצגות אפשרויות ישימות.
- Chrome ב-Windows: אם חלונית ההתחברות אינה מופיעה לעולם, בדקו אם תוסף פרוקסי חוסם אותה, ולאחר מכן נסו שוב בחלון ללא תוספים.
- טלפונים ניידים: עבור אפליקציות הזקוקות לפרוקסי עם אימות, השתמשו באפליקציית פרוקסי התומכת ב-user:pass כפי שמתואר ב-מדריך התקנה ל-Android.
שלב אחר שלב
- 1
זהו את תגובת ה-CONNECT
הריצו
curl -v -xעם שורת הפרוקסי שלכם, או הדביקו אותה בבודק, כדי לדעת אם הפרוקסי מחזיר 407 או 502. - 2
עבור 407: הגדירו פרטי גישה כראוי
בסקריפטים, השתמשו במנגנון האימות המובנה של הספרייה במקום להזין user:pass בתוך
--proxy-server. - 3
עבור 502: נסו אתר אחר
טענו אתר מרכזי כמו example.com דרך אותו פרוקסי. אם הוא נטען בהצלחה, הבעיה היא באתר היעד המקורי.
- 4
הריצו מחדש ואמתו את כתובת ה-IP היוצאת
ברגע שהמנהרה נפתחת, גלשו אל ה-IP שלי באותו דפדפן כדי לוודא שהתעבורה אכן עוברת דרך הפרוקסי.
שאלות נפוצות
מדוע דפי http נטענים בעוד שדפי https נכשלים?
תעבורת http רגילה אינה זקוקה ל-CONNECT; הפרוקסי מעביר את הבקשה ישירות. רק https פותח מנהרה, ולכן שגיאות מנהור מופיעות רק שם.
מה גורם לשגיאת ERR_TUNNEL_CONNECTION_FAILED ב-Android?
לרוב מדובר באפליקציה שאינה יכולה להעביר את שם המשתמש והסיסמה לפרוקסי Wi-Fi. נסו לפתוח את אותו הדף ב-Chrome עבור Android; אם Chrome מציג בקשת התחברות וטוען את הדף, הבעיה היא באפליקציה.
האם ניתן להגדיר user:pass בתוך --proxy-server?
לא. Chrome מתעלם מפרטי גישה בדגל זה, מה שמוביל לקוד 407 ולשגיאת מנהור. בצעו אימות דרך Puppeteer, Playwright או באמצעות תוסף במקום זאת.
האם מעבר ל-SOCKS5 יפתור את שגיאת המנהור?
רק אם ההזמנה שלכם היא מסוג SOCKS5. VinaProxy מציע גם HTTP(S) וגם SOCKS5; בחרו בפרוטוקול המופיע בהזמנה שלכם בלוח הבקרה, שכן חוסר התאמה גורם לשגיאות שונות.
פרוקסי שתואם לעבודה עם Puppeteer ו-Playwright
פרוקסי מבית VinaProxy משתמש בהתחברות user:pass סטנדרטית שספריות אוטומציה פופולריות תומכות בה באופן מובנה.
לצפייה במחירים