Ihre IPv4-Adresse:
Betriebssystem:

Was ist localhost? Loopback, 127.0.0.1 und ::1

localhost bezeichnet normalerweise den Rechner, von dem eine Anfrage ausgeht. Die bekannten Adressen dafür sind 127.0.0.1 bei IPv4 und ::1 bei IPv6. Verkehr an diese Adressen bleibt im Netzwerk-Stack dieses Rechners und geht nicht über den Heimrouter ins Internet. Ein Test über localhost beantwortet daher nur eine eng gefasste Frage: Funktioniert der Dienst lokal?

Die Loopback-Adressbereiche

IPv4 reserviert den gesamten Block 127.0.0.0/8 für Loopback, auch wenn Beispiele fast immer 127.0.0.1 verwenden. IPv6 hat die spezielle Adresse ::1/128. Ihre Aufgaben beschreiben RFC 1122 und RFC 4291. Der Name localhost wird meist über die lokale Systemkonfiguration in diese Adressen aufgelöst. Eine Anwendung kann es zuerst mit IPv4 oder mit IPv6 versuchen; klappt es mit der einen und scheitert mit der anderen, ist deshalb nicht gleich das ganze Netzwerk defekt.

Beispiel: ein lokaler Webserver

Ein Entwickler startet eine Anwendung, die auf 127.0.0.1:8000 lauscht, und öffnet auf demselben Computer http://localhost:8000. Das ist ein sinnvoller Test, ohne die Anwendung anderen Geräten zugänglich zu machen. Öffnet ein Smartphone im selben WLAN localhost:8000, versucht es, sich mit sich selbst zu verbinden – nicht mit dem Computer des Entwicklers. Damit das Smartphone die Anwendung erreicht, muss der Dienst auf einer passenden Netzwerkschnittstelle lauschen, die Firewall die Verbindung zulassen und das Smartphone die LAN-Adresse des Computers verwenden. Stellen Sie einen Entwicklungsserver nicht ohne angemessenen Schutz ins offene Internet.

Lauschadresse und Zugriff von außen

Ein Dienst, der nur an 127.0.0.1 oder ::1 gebunden ist, ist von einem anderen Gerät aus nicht direkt erreichbar. Die Bindung an 0.0.0.0 bedeutet bei IPv4 in der Regel, dass auf allen infrage kommenden IPv4-Schnittstellen gelauscht wird – Zugriff von außen ist damit aber noch nicht garantiert. Firewalls, Container, NAT und Regeln des Providers können den Weg blockieren. Wie sich IPv6 verhält, hängt von Anwendung und Systemeinstellungen ab. Eine Prüfung aus dem Internet, etwa mit der Portprüfung von 2IP, kann nicht bestätigen, dass ein nur an Loopback gebundener Dienst lokal funktioniert. Testen Sie zuerst lokal und dann jede Netzwerkgrenze einzeln.

Ein häufiger Fehler bei Containern und Servern

In einem Container oder auf einem entfernten Server bezeichnet localhost diesen Container bzw. Server, nicht Ihren Laptop. Ein Verbindungsstring zur Datenbank, der auf localhost zeigt, kann daher bei der lokalen Entwicklung funktionieren und nach dem Deployment scheitern, wenn die Datenbank auf einem anderen Rechner liegt. Ermitteln Sie für die Diagnose, wo der Client läuft, und prüfen Sie dann Hostname, Port und Adresse, auf der der Zieldienst lauscht. Ersetzen Sie localhost nicht durch eine öffentliche IP, ohne die Folgen für die Erreichbarkeit zu bedenken. Für interne Kommunikation eignet sich oft eine private Netzwerkadresse oder ein dienstspezifischer Hostname.