Ich fühle mich plötzlich hartnäckig, weil meine Subdomain nicht funktioniert, weil localhost nicht funktioniert. Meine /etc/hosts
Datei sieht so aus:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 develop2win.de
127.0.0.1 develop2win.de
127.0.0.1 alomvar.localhost
Wenn Sie alle Hostnamen für eine IP-Adresse wie folgt in eine Zeile schreiben, funktioniert dies ebenfalls nicht:
127.0.0.1 localhost alomvar.localhost develop2win.de www.develop2win.de
Ich habe auch den für OS X 10.9 Mavericks geeigneten DNS-Resolver mit dem folgenden Befehl neu gestartet:
dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Aber ausgeben nslookup alomvar.localhost
am Terminal ergibt folgendes:
Server: 192.168.178.1
Address: 192.168.178.1#53
** server can't find alomvar.localhost: NXDOMAIN
Das ist die IP des Routers in meinem lokalen Netzwerk. Es scheint, als würde die localhost-Hostdatei in diesem Fall zur Auflösung übersprungen. Vor dem Prozess develop2win.de
wurde erfolgreich aufgelöst und auf einen lokalen virtuellen Apache-Host verwiesen. Aber jetzt funktioniert auch nicht mehr der gleiche Fehler wie oben (WTF?). Allerdings schlicht nach oben schauen localhost
funktioniert immer noch gut:
Server: 192.168.178.1
Address: 192.168.178.1#53
Name: localhost
Address: 127.0.0.1
Update 1 : Ich habe auch einen Neustart ohne Änderung durchgeführt. Es scheint, als würden DNS-Abfragen nicht lokal gelöst, sondern an meinen Router gesendet.
Was vermisse ich? Hat jemand anderes versucht, eine Subdomain für localhost unter OS X Mavericks einzurichten? Hier geht es nicht einmal um Apache, nur um die DNS-Sache.
Hier ist ein Screenshot meiner DNS-Konfiguration in den Systemeinstellungen , Apropos. Da ich noch nicht genug Reputation habe, um Bilder einzubetten, ist dies ein Link zu einer externen Seite.
Update 2 : Ich habe mit überprüft host
und ping
Befehle im Terminal, wie auf dave_thompson_085 hingewiesen wurde. Für localhost funktioniert es gut:
$ host localhost
localhost has address 127.0.0.1
Aber für die Subdomain nicht:
$ host alomvar.localhost
Host alomvar.localhost not found: 3(NXDOMAIN)
Pinging localhost funktioniert auch gut:
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.078 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.085 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.076 ms
^C
--- localhost ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.048/0.072/0.085/0.014 ms
Und jetzt, irritierend, funktioniert es auch für die Subdomain:
$ ping alomvar.localhost
PING alomvar.localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.042 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.091 ms
^C
--- alomvar.localhost ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.039/0.062/0.091/0.022 ms
Wie kann ich ohne Probleme pingen, aber die Subdomain nicht auflösen? Anscheinend sollte es so funktionieren, wenn ich sehe, wie andere Leute es im Internet gemacht haben. Ich bin kein Riss in Sachen Vernetzung. Ich habe wahrscheinlich etwas anderes gebrochen als das, was direkt zum Einrichten benötigt wird.
Ich habe auch ausgeführt dig
auf localhost und der subdomain. Die Ausgabe ist ziemlich lang und ich denke, diese Frage ist schon ziemlich vollgestopft. Sehen Diese Datei für Dig-Ausgabe.
Update 3 : Wenn Sie meinen Mac vom Netzwerk trennen (Ethernet-Netzwerkadapter deaktivieren) dig
und host
Sie können auch nicht nach localhost suchen.
Update 4 : Ich habe herausgefunden, dass es in Browsern funktioniert, um zu zeigen, dass der virtuelle Apache-Host den so genannten Host hört. Es ist keine Lösung für das Problem, sondern ein Umstand, mit dem ich leben und arbeiten kann. Ich bin jedoch immer noch an einer Lösung des Problems interessiert. Wenn jemand eine weitere Idee hat, sag es mir.
nslookup
(und auchdig
) Spricht NUR mit DNS-Servern und verwendet nicht die vollständige DNS-Auflösungslogik wie andere (echte?) Programme. Versuchenhost
einfach auflösen, oderping
zu lösen und nur ein paar harmlose Pakete zu machen. Dies gilt zwar für die meisten, wenn nicht für alle Unix-Versionen, aber MacOSX betont dies in developer.apple.com/library/mac/documentation/Darwin/Reference/… unter "Mac OS X Notice".host
.dig
undping
.host
wie bei normaler Auflösung, aber bei erneuter Überprüfung der Manpage sehe ich auch NUR DNS-Server. Somitnslookup dig host
Das Ignorieren der Daten in Ihrer hosts-Datei ist leider dokumentiert. Also geh mitping
.127.0.0.1 subdomain.localhost
Innerhalb/etc/hosts/
. subdomain.localhost pings gut, allerdings wenn ich den Browser unter öffnehttp://subdomain.localhost
, Ich bekomme einERR_NAME_NOT_RESOLVED
. Hast du eine Lösung gefunden?Antworten:
dig
.host
, undnslookup
alle umgehen den Systemnamenauflöser und fragen den DNS direkt ab. Daher sehen sie keine Namen, die in / etc / hosts definiert sind (es sei denn, sie sind vorhanden.) ebenfalls definiert im DNS-Dienst) oder beliebige mDNS- (auch als Bonjour-) .lokale Namen oder Computereinträge in Verzeichnisdiensten oder ...Wenn Sie sehen möchten, was der Systemauflöser sieht, ist das beste Werkzeug
dscacheutil
. Leider ist die Syntax ziemlich unbeholfen (dscacheutil -q host -a name alomvar.localhost
), also ist es im Allgemeinen schneller etwas zu verwendenping
das den Systemnamenauflöser verwendet. Wenn Sie jedoch vollständige Details wünschen (z. B. ob ein Name in mehrere Adressen aufgelöst wird),dscacheutil
ist der Weg zu gehen.quelle
dscacheutil -statistics
gibt an, dass keine Details vom Cache-Knoten abgerufen werden können (wie bei-cachedump
). Ich frage nur, da sich meines Wissens mit Mavericks einige Änderungen ergeben haben.dig
.host
, undnslookup
) umging immer die Systemrichtlinie unddscacheutil
hat (seit seinem Erscheinen) die Systemrichtlinie befolgt. Mehrere vondscacheutil
's andere Funktionen sind defekt (z.dscacheutil -flushcache
jetzt erfordertsudo
, und scheint auch dann nicht ganz zu funktionieren ...), aber es sieht immer noch gut aus. Oh, eines hat sich in Mavericks geändert: Die Registerkarte "Nachschlagen" von Network Utility.app verwendet jetzt die Systemrichtliniedig
).