wget do jednego konkretnego adresu URL z jednego z moich serwerów ciągle otrzymuje limity czasu. Wszystkie pozostałe adresy URL z tego pola działają dobrze. Ten adres URL działa poprawnie z dowolnych innych pól, które mam. Oto wynik:
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
Czy możesz mi powiedzieć, co może być nie tak i jak mogę to rozwiązać? Używam Ubuntu 11.04 (GNU / Linux 2.6.38-8-server x86_64)
Z góry bardzo dziękuję i wybaczcie moją noobistyczną ignorancję :)
ping, telnet, nc www.fcc-fac.ca 80 - wszystkie zawieszają się. Jednak niektóre inne adresy URL są łatwe do wget'ow, chociaż tylko niektóre z ich hostów są pingowalne.
traceroute niewiele mi mówi:
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 * * *
Wielkie dzięki za odpowiedzi!
Uruchom
nc www.fcc-fac.ca 80
, wpiszGET /
i naciśnij dwukrotnie klawisz Enter.Zdalny widok może być w dół lub blokować cię.
źródło
wygląda na to, że wget nie może połączyć się z twoim ipem na porcie 80.
sprawdź, czy twój serwer jest pingowany:
jeśli ip jest pingowany, sprawdź, czy możesz połączyć się z portem 80 za pomocą telnet:
telnet 65.87.238.35 80
jeśli serwer nie odpowiada na ping, prawdopodobnie jest niedostępny lub nieosiągalny dla twojej sieci źródłowej.
przetestuj za pomocą narzędzia traceroute, aby sprawdzić, gdzie połączenie nie powiedzie się.
źródło
Naprawiono powolne rozpoznawanie DNS w skryptach PHP za pomocą biblioteki CURL.
Z dokumentacji libcurl:
CURLOPT_IPRESOLVE
Zezwala aplikacji na wybór adresów IP używanych podczas rozwiązywania nazw hostów. Jest to interesujące tylko w przypadku używania nazw hostów, które rozwiązują adresy przy użyciu więcej niż jednej wersji adresu IP. Dozwolone wartości to:
CURL_IPRESOLVE_WHATEVER
Domyślnie rozpoznaje adresy we wszystkich wersjach IP dozwolonych przez system.
CURL_IPRESOLVE_V4
Rozdziel na adresy IPv4.
CURL_IPRESOLVE_V6
Rozwiąż do adresów IPv6.
Uważam, że można je ustawić jako zmienne środowiskowe. Przynajmniej przy korzystaniu z PHP te ustawienia miały ogromny wpływ na szybkość resolvera.
źródło