curl प्रॉक्सी टाइमआउट: विफल चरण खोजें
प्रॉक्सी कनेक्शन, टनल वार्ता, TLS और अटके उत्तर को अलग पहचानें, ताकि curl की समय सीमाएँ समस्या ढूँढ़ने में मदद करें।
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/लगातार स्थानांतरण दर 20 सेकंड तक प्रति सेकंड 100 बाइट से नीचे रहे तो यह क्रिया रोक देता है, जबकि कुल सीमा 60 सेकंड बनी रहती है। काम के अनुसार मान चुनें। इवेंट स्ट्रीम लंबे शांत अंतराल में भी स्वस्थ हो सकती है, इसलिए डाउनलोड का नियम उसे गलत ढंग से रोक सकता है।
सभी सीमाएँ बढ़ाने से लक्षण देर से आता है। तुरंत बार-बार प्रयास करने से अधिक भार वाले रास्ते पर कनेक्शन बढ़ सकते हैं। कुछ सोच-समझकर की गई तुलनाओं से निदान करें; अनुप्रयोग की बाद की पुनःप्रयास नीति को अपना कुल बजट और क्रिया दोहराने की सुरक्षा का विचार चाहिए।