מצאו את הפעולה האחרונה שהושלמה בפלט המפורט של curl. ״החיבור לפרוקסי נוצר, אבל אין תשובת CONNECT״ מצמצם את הבעיה הרבה יותר מ״תם זמן ההמתנה לפרוקסי״.

השתמשו בבקשה מוגבלת בזמן והחליפו את הדוגמה המקומית בפרוקסי HTTP שלכם; ברשימת שרתי פרוקסי HTTP אפשר למצוא נקודות קצה חלופיות להשוואה:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

--connect-timeout 5 מקצה תקציב משותף אחד להקמת החיבור, כולל בירורים ולחיצות יד רלוונטיים; הוא אינו מקצה חמש שניות לכל שלב. --max-time 15 מגביל את הפעולה כולה, כולל זמן ההעברה לאחר ההקמה.

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

לסדר לחיצות היד ראו כיצד CONNECT נושא HTTPS. עצירה סמוך לתקציב החיבור מרמזת על ההקמה; עצירה מאוחרת יותר במגבלה הכוללת מרמזת על העברה שלא הושלמה. בדקו את הרצף יחד עם הזמנים — הזמן לבדו אינו מזהה את הרכיב. נוסח היומנים משתנה בין גרסאות בנייה של curl, ויציאת TCP פתוחה אינה מוכיחה ש־CONNECT עובד.

השאירו צד אחד קבוע

השוו את אותו יעד דרך נתיב ישיר מותר:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

לאחר מכן השוו יעד לא מזיק אחר דרך אותו פרוקסי. אם רק יעד אחד נכשל, בדקו את הנתיב או מדיניות הגישה שלו. אם כולם נעצרים באותו שלב הקמה, בדקו את הנתיב המשותף דרך הפרוקסי. שמרו שעת התחלה, נקודת קצה, יעד ושלב אחרון שהושלם; הסירו פרטי גישה, אסימונים, עוגיות ושמות פרטיים לפני שיתוף יומנים.

כשהחיבור נשאר פתוח ללא התקדמות מועילה

העברת קובץ עשויה לדרוש סף מהירות נמוכה בנוסף למגבלות ההקמה והזמן הכולל:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/

הדבר מפסיק את הפעולה אם קצב ההעברה המתמשך נשאר מתחת ל־100 בתים בשנייה במשך 20 שניות, תוך שמירה על מגבלה כוללת של 60 שניות. בחרו ערכים בהתאם לעומס העבודה. זרם אירועים יכול להיות תקין בזמן שתיקות ארוכות, ולכן כלל להורדות עלול להפסיקו בטעות.

הגדלת כל המגבלות דוחה את התסמין. ניסיונות חוזרים ומיידיים עלולים להוסיף חיבורים לנתיב עמוס. אבחנו באמצעות כמה השוואות מתוכננות; מדיניות ניסיונות חוזרים עתידית של היישום זקוקה לתקציב כולל משלה ולשיקול אם בטוח לחזור על הפעולה.

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