ERR_CONNECTION_REFUSED

DIREKTE ANTWORT
ERR_CONNECTION_REFUSED bedeutet, dass der Browser eine Zieladresse erreicht hat, die Verbindung jedoch abgewiesen wurde, bevor die Website eine Antwort zurückgab. Häufige Ursachen sind ein angehaltener Webserver, kein auf Port 80 oder 443 lauschender Prozess, ein Dienst, der nur an localhost gebunden ist, ein falsches DNS-Ziel oder eine Firewall-Regel, die den Zugriff blockiert. Prüfen Sie zuerst das Ziel und den Listener und testen Sie anschließend aus einem externen Netzwerk.
Wichtigste Punkte
- Eine schnelle Ablehnung deutet meist auf ein Problem mit Dienst, Port, Binding oder Netzwerkregel hin und nicht auf eine langsame Verbindung.
- Prüfen Sie, ob Nginx, Apache oder der Anwendungsserver läuft, bevor Sie Browsereinstellungen ändern.
- Stellen Sie sicher, dass ein Prozess auf dem angeforderten Port lauscht – üblicherweise auf Port 80 für HTTP oder 443 für HTTPS.
- Ein Listener auf
127.0.0.1kann lokal funktionieren, während externe Verbindungen abgewiesen werden. - Testen Sie den Zugriff nach jeder Änderung von außerhalb des Servers, damit ein lokaler Erfolg kein externes Zugriffsproblem verdeckt.
Site Administrator
Was dieser Fehler bedeutet und wie du ihn erkennst
- Chrome, Edge oder ein anderer Chromium-basierter Browser zeigt „Diese Website ist nicht erreichbar – ERR_CONNECTION_REFUSED“ an.
- Der Fehler erscheint schnell und nicht erst nach einer langen Wartezeit. Eine lange Verzögerung deutet eher auf einen Timeout wie
ERR_CONNECTION_TIMED_OUThin. - Eine zuvor funktionierende Website fällt nach einem Serverneustart, Deployment, einer DNS-Änderung, Konfigurationsänderung oder Firewall-Änderung aus.
- SSH oder ein anderer Anwendungsport auf demselben Rechner kann weiterhin erreichbar sein, während der Webport Verbindungen ablehnt.
- Auf dem Server ausgeführte Anfragen können erfolgreich sein, während Anfragen von außerhalb fehlschlagen, wenn der Dienst nur auf localhost lauscht oder eine externe Firewall den Port blockiert.
Hauptursachen nach Wahrscheinlichkeit
- Der Webserver oder Anwendungsprozess ist angehalten — Nginx, Apache oder der Anwendungsserver ist möglicherweise abgestürzt, wurde angehalten oder konnte beim Start nicht erfolgreich geladen werden.
- Auf dem angeforderten Port lauscht nichts — der Dienst verwendet möglicherweise einen anderen Port, während die Anfrage an Port 80 oder 443 gesendet wird.
- Der Dienst ist an das falsche Interface gebunden — ein Listener auf
127.0.0.1akzeptiert lokale Anfragen, aber keine direkten externen Verbindungen. - Eine Host- oder Cloud-Firewall weist den Datenverkehr ab — eine Firewall des Betriebssystems, eine Security Group, eine Network ACL oder eine Provider-Firewall kann geändert worden sein.
- DNS verweist auf das falsche Ziel — die Domain kann zu einem alten, neu erstellten oder anderweitig nicht konfigurierten Server aufgelöst werden. Ein AAAA-Record kann außerdem einige Besucher an eine IPv6-Adresse weiterleiten, auf der kein funktionierender Weblistener vorhanden ist.
So behebst du den Fehler
1. Zieladresse bestätigen
Prüfen Sie die A- und AAAA-Records der Domain und vergleichen Sie die aufgelösten Adressen mit dem Server, der die Anfrage empfangen soll. Wenn die Domain auf einen alten, außer Betrieb genommenen oder neu erstellten Server zeigt, korrigieren Sie DNS, bevor Sie die Konfiguration des Webdienstes ändern. Wenn sowohl IPv4- als auch IPv6-Records vorhanden sind, stellen Sie sicher, dass Dienst und Firewall beide Pfade unterstützen.
2. Prüfen, ob der Dienst läuft
Prüfen Sie den relevanten Dienst über eine autorisierte Administrationsmethode wie SSH. Untersuchen Sie Nginx beispielsweise mit systemctl status nginx; verwenden Sie für Apache oder den Anwendungsserver den entsprechenden Dienstnamen.
Wenn der Dienst angehalten wurde oder fehlgeschlagen ist, prüfen Sie Status und Logs, bevor Sie ihn starten. Ein durch eine kürzlich vorgenommene Änderung eingeführter Konfigurationsfehler ist eine häufige Ursache für fehlgeschlagene Starts. Validieren Sie die Konfiguration mit nginx -t für Nginx oder apachectl configtest für Apache. Erst wenn der Test erfolgreich ist und Sie zur Änderung des Dienstes berechtigt sind, sollten Sie ihn neu starten oder neu laden. Ein Neustart kann aktive Anfragen unterbrechen und während eines Produktionshochs ungeeignet sein.
3. Lauschenden Port und Interface überprüfen
Untersuchen Sie die Listener auf dem Server mit ss -tlnp oder dem entsprechenden Befehl der Plattform. Stellen Sie sicher, dass der erwartete Prozess auf dem angeforderten Port lauscht, üblicherweise auf :80 oder :443.
Prüfen Sie neben dem Port auch die Bind-Adresse:
0.0.0.0:80oder0.0.0.0:443lauscht im Allgemeinen auf verfügbaren IPv4-Interfaces.- Eine bestimmte Serveradresse zeigt an, dass der Dienst an dieses Interface gebunden ist.
127.0.0.1:80oder127.0.0.1:443akzeptiert nur lokale Anfragen.
Wenn die Anwendung absichtlich nur auf localhost erreichbar sein soll, stellen Sie sicher, dass der öffentlich erreichbare Reverse Proxy läuft und Anfragen an sie weiterleitet. Andernfalls passen Sie die Dienstkonfiguration so an, dass sie während einer genehmigten Wartung oder eines genehmigten Deployments auf dem vorgesehenen Interface lauscht.
4. Host- und Cloud-Firewall-Regeln prüfen
Prüfen Sie die Server-Firewall mit ufw status, iptables -L oder dem entsprechenden Befehl des Betriebssystems. Untersuchen Sie anschließend die Cloud-Security-Group, Network ACL oder Provider-Firewall, die dem erwarteten Server zugeordnet ist.
Stellen Sie sicher, dass eingehender Datenverkehr auf dem erforderlichen Port aus den entsprechenden Quellen erlaubt ist. Eine öffentliche Website benötigt möglicherweise Internetzugriff, während ein interner Dienst einen engeren, genehmigten Bereich verwenden sollte. Prüfen Sie IPv4- und IPv6-Regeln getrennt, wenn beide Record-Typen veröffentlicht sind. Erweitern Sie den Zugriff nicht stärker als nötig und nehmen Sie Firewall-Änderungen nur mit entsprechender Berechtigung vor.
5. Lokal und extern testen
Testen Sie auf dem Server den lokalen Listener und den konfigurierten Hostnamen getrennt. Ein lokaler Erfolg bestätigt nur, dass auf dem Rechner etwas antwortet; er beweist nicht, dass externe Clients den Port erreichen können.
Führen Sie nach der Korrektur von DNS, Dienst, Binding oder Firewall eine ausführliche curl -v-Anfrage an den betroffenen Hostnamen aus einem anderen Netzwerk oder von einem externen Rechner aus. Vergewissern Sie sich, dass die Anfrage die erwartete Adresse und den erwarteten Port erreicht und die Ablehnung nicht mehr auftritt.
6. Kürzlich vorgenommene Änderungen vergleichen
Wenn der Fehler nach einem Deployment, Neustart, Server-Neuaufbau, DNS-Update oder einer Firewall-Änderung begann, vergleichen Sie die aktuelle Konfiguration mit der zuletzt funktionierenden Version. Achten Sie insbesondere auf einen geänderten Port, einen fehlgeschlagenen Dienststart, ein reines Localhost-Binding, eine dem falschen Server zugeordnete Regel oder eine unvollständige IPv6-Konfiguration.
Vorbeugung und Überprüfung der Lösung
- Verwenden Sie einen Service Manager oder Process Supervisor, damit sich der Webdienst nach einem unerwarteten Ausfall wiederherstellen kann.
- Machen Sie die Konfigurationsvalidierung, etwa mit
nginx -toderapachectl configtest, vor jedem Reload oder Neustart zu einem erforderlichen Deployment-Check. - Dokumentieren Sie die vorgesehenen Ports, Bind-Adressen, Firewall-Regeln, Security Groups und DNS-Records als funktionierende Referenzkonfiguration.
- Überwachen Sie den Dienst von außerhalb des Servers, statt sich ausschließlich auf lokale Health Checks zu verlassen.
- Prüfen Sie IPv4- und IPv6-Listener sowie Firewall-Regeln immer dann, wenn eine Domain sowohl A- als auch AAAA-Records besitzt.
- Dokumentieren Sie Infrastrukturänderungen, damit sich eine neue Ablehnung einem Deployment, Neuaufbau, DNS-Update oder einer Firewall-Änderung zuordnen lässt.
Wann externe Hilfe sinnvoll ist
Wenden Sie sich an Ihren Hosting- oder Cloud-Provider, wenn der Dienst läuft, der erwartete Port auf dem richtigen Interface lauscht, DNS auf den vorgesehenen Server zeigt und die Firewall-Regeln den Datenverkehr erlauben, externe Verbindungen aber weiterhin abgewiesen werden. Stellen Sie den betroffenen Hostnamen, den ungefähren Beginn des Problems, kürzlich vorgenommene Infrastrukturänderungen, die Ausgabe der lauschenden Ports sowie relevante Ergebnisse aus Firewall- oder Service-Logs bereit. Entfernen Sie private Zugangsdaten und vertrauliche Konfigurationen, bevor Sie Diagnosedaten weitergeben.
Häufig gestellte Fragen
Ist ERR_CONNECTION_REFUSED dasselbe wie ein Timeout?
Nein. ERR_CONNECTION_REFUSED wird normalerweise schnell zurückgegeben, wenn das Ziel die Verbindung ablehnt oder kein geeigneter Listener sie akzeptiert. Ein Timeout bedeutet im Allgemeinen, dass die Anfrage innerhalb des erwarteten Zeitraums keine Antwort erhalten hat.
Was sollte ich bei ERR_CONNECTION_REFUSED zuerst prüfen?
Prüfen Sie, ob der Webserver oder Anwendungsprozess läuft, und stellen Sie anschließend sicher, dass ein Prozess auf dem angeforderten Port lauscht. Diese Prüfungen unterscheiden schnell zwischen einem angehaltenen Dienst und einem Port-, Binding- oder Firewall-Problem.
Warum funktioniert die Website auf dem Server, aber nicht auf meinem Computer?
Der Dienst ist möglicherweise nur an 127.0.0.1 gebunden und akzeptiert lokale, aber keine externen Verbindungen. Eine Host-Firewall, Cloud-Security-Group oder Network ACL kann lokalen Datenverkehr ebenfalls erlauben und externe Anfragen blockieren.
Welche Ports sind häufig betroffen?
HTTP verwendet üblicherweise Port 80 und HTTPS üblicherweise Port 443. Eine Website oder ein Reverse Proxy kann jedoch einen anderen konfigurierten Port verwenden. Vergleichen Sie den angeforderten Port mit den von ss -tlnp oder dem entsprechenden Befehl der Plattform angezeigten Listenern.
Kann DNS ERR_CONNECTION_REFUSED verursachen?
DNS selbst weist keine TCP-Verbindung ab, aber ein falscher A- oder AAAA-Record kann den Browser zu einem Server weiterleiten, auf dem kein geeigneter Weblistener vorhanden ist. Prüfen Sie sowohl die aufgelöste Adresse als auch die Dienstkonfiguration auf diesem Ziel.
Sollte ich den Webserver sofort neu starten?
Nicht, bevor Sie Status, Logs und Konfigurationssyntax geprüft haben. Ein Neustart kann Anfragen unterbrechen, die ursprüngliche Ursache verdecken oder aufgrund eines Syntaxfehlers erneut fehlschlagen. Validieren Sie zuerst die Konfiguration und starten Sie den Dienst anschließend nur mit entsprechender Berechtigung neu oder laden Sie ihn neu.
Weitere Dokumentation
Für maßgebliche Referenzmaterialien konsultieren Sie die Dokumentation zu den Verbindungsfehlern des Browsers, zum Service Manager und zu den Socket-Tools des Betriebssystems, zur installierten Nginx- oder Apache-Version, zur Host-Firewall, zu den Security Groups oder Network ACLs des Cloud-Providers sowie zur Verwaltung der A- und AAAA-Records beim DNS-Provider. Verwenden Sie die Dokumentation, die zum Serverbetriebssystem, Webserver, Hosting-Provider und Netzwerkdesign der betroffenen Umgebung passt.