פרוקסי שדוחה CONNECT עשוי להחזיר מסמך שגיאת HTTP שמסביר את המדיניות שלו או את כשל החיבור שלאחריו. לצורך אבחון מורשה מול פרוקסי HTTP רגיל, curl יכול לשלוח את הבקשה ישירות ולשמור את התגובה:

curl --proxy '' --http1.1 --max-time 10 \
  --request CONNECT \
  --request-target service.example:443 \
  --header 'Host: service.example:443' \
  --dump-header tunnel.headers \
  --output tunnel.body \
  http://proxy.example:8080/

כתובת ה-URL הסופית מכוונת למאזין של הפרוקסי. להשוואה מורשית של פרוקסי ציבוריים, רשימת פרוקסי ה-HTTP מספקת מועמדים לכתובת המאזין הזו. ‏--request מספק את אסימון השיטה; ‏--request-target מספק את סמכות ה-CONNECT. שמירה עליהם בנפרד מפיקה CONNECT service.example:443 HTTP/1.1.

אפשרות הפרוקסי הריקה מונעת מ-curl לנתב אבחון זה דרך פרוקסי תורשתי אחר. הפקודה משמיטה במכוון את ‏--fail כדי שמסמך שגיאת HTTP יוכל להישמר.

ניסיון ללא אימות עשוי לעצור ב-407 לפני הגעה לכשל הנחקר. השתמשו בהסדר האימות שהפרוקסי מייעד בעת שחזור בקשה מאומתת.

זה נועד לבדיקת תגובות כשל. אם הפרוקסי מחזיר 2xx, החיבור הופך למנהרה במקום העברת גוף HTTP רגילה. אבחון זה בשיטה מותאמת אינו מתחיל את חילופי ה-TLS של היעד ועשוי להגיע למגבלת הזמן שלו במנהרה פתוחה שהתקבלה.

השתמשו בזרימת הבקשות הרגילה של ‏--proxy לצורך שליפת HTTPS אמיתית. שמרו את סטטוס האבחון ואת הגוף יחד עם הפרוקסי והיעד הספציפיים שלהם.

מאמרים קשורים