Vraag Waarom hangt wget?


wget naar een specifieke URL van een van mijn servers zorgt ervoor dat er time-outs komen. Alle andere URL's uit deze box werken prima. Deze URL werkt goed vanuit elk ander vak dat ik heb. Dit is de uitvoer:

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

Kun je me vertellen wat er mis kan zijn en hoe kan ik het oplossen? Ik gebruik Ubuntu 11.04 (GNU / Linux 2.6.38-8-server x86_64)

Bij voorbaat dank en vergeef mijn onnozele onwetendheid :)

ping, telnet, nc www.fcc-fac.ca 80 - alles hangt. Sommige andere URL's zijn echter eenvoudig te gebruiken sommige van hun gastheren zijn pingbaar.

traceroute vertelt me ​​niet zoveel:

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  * * *

Heel erg bedankt voor de antwoorden!


8
2017-07-14 12:48


oorsprong




antwoorden:


Ik denk dat het probleem is dat wget niet goed omgaat met IPv6-adressen en de DNS-server een IPv6 voor die site verzendt. Sorry als ik je vraag verkeerd heb begrepen. Controleer die tests:

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'

Als ik IPv6 forceer omdat ik geloof dat uw probleem hiermee verband houdt, mislukt het:

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'

Nochtans als ik dwingen om IPv4 te gebruiken downloadt het juist de indexpagina

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'

10
2017-07-14 14:43



Hij lost het prima op met een IPv4-adres. - Jodie C


het lijkt erop dat wget geen verbinding kan maken met uw IP op poort 80.

controleer of uw server pagingbaar is:

ping 65.87.238.35
ping 207.195.108.140

als de ip pingtable is, controleer dan of je verbinding kunt maken met poort 80 met behulp van telnet:

telnet 65.87.238.35 80

als de server niet reageert op ping, is deze waarschijnlijk down of onbereikbaar voor uw bronnet.

test met traceroute-tool om te zien waar de verbinding mislukt.


1
2017-07-14 12:53



Bedankt voor het antwoord - ik heb de oorspronkelijke vraag bijgewerkt - Szczepan
een opgraving op www.fcc-fac.ca vertelt me ​​dat het 2 DNS-records van type A heeft: ;; ANTWOORD SECTIE: www.fcc-fac.ca. 120 IN A 65.87.238.35 www.fcc-fac.ca. 120 IN A 207.195.108.140 als beide niet bereikbaar zijn, is de host niet beschikbaar en kan natuurlijk het bestand niet worden opgehaald. als er sommige IP's bereikbaar zijn, slaat wget de ip over naar een ip die hij kan bereiken en downloadt het bestand vanaf daar. in jouw geval lijken beide hosts neer vanwege de lange responstijd die ik denk (time-out). - Goez
u kunt de optie -T in wget gebruiken om de time-outwaarde te verlengen De time-out is sec tot seconden, dus misschien kan een hogere waarde helpen - Goez
OK. Ik snap het. Beide ips kunnen niet worden gepingerd (ik heb het gecontroleerd bij 2 verschillende machines). Toch werkt de link prima in de browser en wanneer hij wordt afgeleid van andere machines dan degene die problemen veroorzaakt: / - Szczepan
Hogere time-out helpt niet - Szczepan


Oplossing voor langzame DNS-resolutie in PHP-scripts met behulp van de CURL-bibliotheek.

Uit de documentatie van libcurl:

CURLOPT_IPRESOLVE

Hiermee kan een app selecteren welk type IP-adressen moet worden gebruikt bij het oplossen van hostnamen. Dit is alleen interessant als u hostnamen gebruikt die adressen met meer dan één versie van IP oplossen. De toegestane waarden zijn:

CURL_IPRESOLVE_WHATEVER

Standaard, lost adressen op naar alle IP-versies die uw systeem toestaat.

CURL_IPRESOLVE_V4

Oplossen naar IPv4-adressen.

CURL_IPRESOLVE_V6

Los op naar IPv6-adressen.

Ik geloof dat deze kunnen worden ingesteld als omgevingsvariabelen. Ten minste tijdens het gebruik van PHP maakten deze instellingen een enorm verschil uit voor de snelheid van de resolver.


1
2017-09-05 11:39





Rennen nc www.fcc-fac.ca 80, typ in GET / en druk tweemaal op Enter.

Het zicht op afstand is mogelijk niet beschikbaar of blokkeert u.


0
2017-07-14 12:51



Bedankt voor het antwoord - ik heb de oorspronkelijke vraag bijgewerkt - Szczepan
Als je het adres niet kunt vinden, wordt je waarschijnlijk ergens onderweg geblokkeerd. - Jodie C