क्यों लटकी है फांसी?


12

मेरे एक सर्वर से एक ही विशिष्ट url के लिए wget टाइमआउट होता रहता है। इस बॉक्स से अन्य सभी यूआरएल ठीक काम करते हैं। यह यूआरएल मेरे पास किसी भी अन्य बक्से से ठीक काम करता है। यहाँ उत्पादन है:

wget -T 10 http://www.fcc-fac.ca
--2011-07-14 14:44:29--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... failed: Connection timed out.
Connecting to www.fcc-fac.ca|207.195.108.140|:80... failed: Connection timed out

क्या आप मुझे बता सकते हैं कि क्या गलत हो सकता है और मैं इसका कैसे निवारण कर सकता हूं? मैं Ubuntu 11.04 (GNU / Linux 2.6.38-8- सर्वर x86_64) का उपयोग कर रहा हूं

अग्रिम में बहुत बहुत धन्यवाद और मेरी अज्ञानता को माफ कर दो :)

पिंग, टेलनेट, एनसी www.fcc-fac.ca 80 - सभी लटका। हालाँकि, कुछ अन्य url जो आसानी से wget'able हैं, हालांकि उनके कुछ होस्ट केवल पिंगेबल हैं।

अनुरेखक मुझे बहुत कुछ नहीं बताता है:

7  rx0nr-access-communications.wp.bigpipeinc.com (66.244.208.10)  148.834 ms  149.018 ms  148.940 ms
8  sw-1-research.accesscomm.ca (24.72.3.9)  158.901 ms  159.805 ms  160.162 ms
9  65.87.238.126 (65.87.238.126)  150.069 ms  148.861 ms  148.846 ms
10  * * *
...
30  * * *

उत्तर के लिए बहुत बहुत धन्यवाद!

जवाबों:


14

मुझे लगता है कि समस्या यह है कि wget अच्छी तरह से IPv6 पतों को हैंडल नहीं करता है और DNS सर्वर उस साइट के लिए IPv6 भेज रहा है। क्षमा करें यदि मैंने आपके प्रश्न को गलत समझा। उन परीक्षणों की जाँच करें:

hmontoliu@ulises:~$ wget -T10 http://www.fcc-fac.ca
--2011-07-14 16:44:34--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: Connection timed out.
wget: unable to resolve host address `www.fcc-fac.ca'

अगर मैं IPv6 को मजबूर करता हूं क्योंकि मेरा मानना ​​है कि आपकी समस्या इससे संबंधित है, तो यह विफल है:

hmontoliu@ulises:~$ wget -6 http://www.fcc-fac.ca
--2011-07-14 16:40:44--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: No address associated with hostname.
wget: unable to resolve host address `www.fcc-fac.ca'

हालाँकि अगर मैं IPv4 का उपयोग करने के लिए मजबूर करता हूँ तो यह इंडेक्स पेज को सही डाउनलोड करता है

hmontoliu@ulises:~$ wget -4 http://www.fcc-fac.ca
--2011-07-14 16:40:56--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6554 (6,4K) [text/html]
Saving to: `index.html'

वह IPv4 पते के साथ इसे ठीक करता है।
जोड़ी सी।

मैं IPv6 को क्यों नापसंद करता हूं, इसका एक और उदाहरण: - /
PJ ब्रुनेट

1

भागो nc www.fcc-fac.ca 80, टाइप GET /करें और दो बार Enter दबाएँ।

दूरस्थ दृष्टि आपको नीचे या अवरुद्ध कर सकती है।


हे, उत्तर के लिए धन्यवाद - मैंने मूल प्रश्न को अपडेट किया
स्ज़ेकपैन

यदि आप पते पर नेटकैट नहीं कर सकते हैं तो आप शायद रास्ते में कहीं अवरुद्ध हो रहे हैं।
जोड़ी सी

1

ऐसा लगता है कि wget पोर्ट 80 पर आपके आईपी से कनेक्ट करने में सक्षम नहीं है।

जांचें कि आपका सर्वर पिंगेबल है:

ping 65.87.238.35
ping 207.195.108.140

अगर आईपी pingable है, तो जांचें कि क्या u telnet का उपयोग करके पोर्ट 80 से कनेक्ट हो सकता है:

टेलनेट 65.87.238.35 80

यदि सर्वर पिंग का जवाब नहीं देता है, तो यह संभवतः आपके स्रोत नेट के लिए नीचे या पहुंच से बाहर है।

जहां कनेक्शन विफल रहता है यह देखने के लिए ट्रैसरूट टूल के साथ परीक्षण करें।


हे, उत्तर के लिए धन्यवाद - मैंने मूल प्रश्न को अपडेट किया
स्ज़ेकपैन

www.fcc-fac.ca पर एक खुदाई मुझे बताती है कि इसमें टाइप ए के 2 डीएनएस रिकॉर्ड हैं ;;; उत्तर अनुभाग: www.fcc-fac.ca 120 इन 65.87.238.35 www.fcc-fac.ca। 120 IN 207.195.108.140 यदि दोनों पहुंच से बाहर हैं, तो होस्ट डाउन है, और स्वाभाविक रूप से wget फ़ाइल को पुनः प्राप्त करने में सक्षम नहीं होगा। अगर वहाँ कुछ ip के पहुंच योग्य हैं, तो wget डाउन ip को तब तक छोड़ देगा जब तक वह एक IP पर नहीं आ जाता है कि वह पहुँच सकता है, और फ़ाइल को वहाँ से डाउनलोड कर सकता है। आपके मामले में, दोनों मेजबानों को लगता है कि लंबे प्रतिक्रिया समय के कारण मुझे लगता है (टाइम-आउट)।
Goez


ठीक। समझा। दोनों ips पिंगेबल नहीं हैं (मैंने 2 अलग-अलग मशीनों से जांच की)। फिर भी यह लिंक ब्राउजर में ठीक काम करता है और जब अलग-अलग मशीनों से wget'ed होता है, जो परेशानी पैदा करता है: /
Szczepan

उच्च मध्यांतर मदद नहीं करता है
Szczepan

1

CURL लाइब्रेरी का उपयोग करके PHP स्क्रिप्ट में धीमे DNS रिज़ॉल्यूशन के लिए ठीक करें।

Libcurl प्रलेखन से:

CURLOPT_IPRESOLVE

किसी एप्लिकेशन को होस्ट नामों को हल करते समय किस प्रकार के आईपी पते का उपयोग करने की अनुमति देता है। यह केवल दिलचस्प है जब होस्ट नाम का उपयोग करते हैं जो आईपी के एक से अधिक संस्करण का उपयोग करके पते को हल करते हैं। अनुमत मान हैं:

CURL_IPRESOLVE_WHATEVER

डिफ़ॉल्ट, आपके सिस्टम को अनुमति देने वाले सभी आईपी संस्करणों के पते को हल करता है।

CURL_IPRESOLVE_V4

IPv4 पतों पर हल करें।

CURL_IPRESOLVE_V6

IPv6 पतों पर हल करें।

मेरा मानना ​​है कि इन्हें पर्यावरणीय चर के रूप में स्थापित किया जा सकता है। PHP का उपयोग करते समय कम से कम, इन सेटिंग्स ने रिज़ॉल्वर की गति पर बहुत बड़ा अंतर डाला।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.