✦ Oplossingen · Browser- en verbindingsfouten

ERR_CONNECTION_REFUSED: de site weigert de verbinding

ERR_CONNECTION_REFUSED betekent dat de server de verbinding actief weigert. Lees wat de oorzaak is en volg de stappen voor bezoekers, ontwikkelaars en beheerders.

Zo ziet de foutmelding eruit

  • ERR_CONNECTION_REFUSED
  • Deze site is niet bereikbaar
  • This site can’t be reached
  • localhost refused to connect.
  • Kan geen verbinding maken
  • Unable to connect

Waarom gebeurt dit?

Bij ERR_CONNECTION_REFUSED heeft je browser de server wel bereikt, maar die zegt meteen ‘nee’. Technisch: de browser stuurt een verzoek om een TCP-verbinding op te zetten (een SYN-pakket) naar een IP-adres en poort, bijvoorbeeld poort 443 voor HTTPS. Luistert daar geen programma, of staat een firewall ingesteld om te weigeren, dan komt er direct een weigering (een RST-pakket) terug. Chrome toont dan ‘Deze site is niet bereikbaar’ met de foutcode, Firefox meldt ‘Kan geen verbinding maken’.

De meest voorkomende oorzaken: de webserver (nginx, Apache, Node.js) draait niet of is gecrasht, de dienst luistert op een andere poort of alleen op een ander adres, een firewall weigert de poort actief, of een proxy- of VPN-instelling op je eigen computer stuurt het verkeer naar een adres waar niets luistert.

Ontwikkelaars zien deze fout vaak bij localhost: de lokale ontwikkelserver is gestopt, draait op een andere poort dan je in de adresbalk typt, of luistert alleen op IPv4 terwijl de browser localhost via IPv6 (::1) probeert.

Zo herken je dit probleem

  • De fout verschijnt meteen, zonder lange wachttijd. Duurt het eerst lang en krijg je dan een fout, dan is het eerder ERR_CONNECTION_TIMED_OUT.
  • De domeinnaam wordt wel gevonden. Kan de naam niet worden opgezocht, dan krijg je DNS_PROBE_FINISHED_NXDOMAIN of ERR_NAME_NOT_RESOLVED.
  • Andere sites werken gewoon; alleen deze ene site of dit ene poortnummer faalt.
  • Krijg je wel een pagina, maar met 502, 503 of 504, dan draait de webserver wel en ligt het aan de achterliggende applicatie: zie 502, 503 of 504.

Zo los je het op, stap voor stap

Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.

  1. Controleer het adres en de poort

    Kijk of je het juiste adres gebruikt, inclusief https:// of http:// en een eventueel poortnummer zoals :8080. Een site die alleen HTTPS aanbiedt, kan een verbinding op poort 80 weigeren en omgekeerd. Probeer ook het adres met en zonder www.

  2. Probeer een ander netwerk of apparaat

    Open de site op je telefoon via mobiele data, dus met wifi uit. Werkt het daar wel, dan ligt het aan je eigen computer of netwerk (firewall, proxy, VPN). Werkt het nergens, dan ligt het vrijwel zeker aan de server en kun je als bezoeker alleen wachten of de eigenaar waarschuwen.

  3. Zet proxy en VPN uit

    Een proxy-instelling die verwijst naar een programma dat niet meer draait, geeft precies deze fout voor álle sites. Controleer in Windows Instellingen › Netwerk en internet › Proxy en zet een handmatige proxy uit als je die niet bewust gebruikt. Verbreek ook tijdelijk je VPN-verbinding en probeer het opnieuw.

  4. Schakel tijdelijk je firewall of beveiligingssoftware uit

    Sommige beveiligingspakketten blokkeren verbindingen naar bepaalde poorten of sites. Zet de webbescherming of firewall van dat pakket heel even uit en test opnieuw. Werkt het dan, voeg de site toe als uitzondering en zet de bescherming meteen weer aan.

  5. Test de poort vanaf je computer

    Met PowerShell in Windows kun je zien of de poort reageert, los van de browser. Staat er TcpTestSucceeded : False, dan wordt de verbinding op netwerkniveau geweigerd of geblokkeerd. Op Mac of Linux doe je hetzelfde met curl -v; de melding Connection refused bevestigt het.

    # Windows PowerShell
    Test-NetConnection voorbeeld.nl -Port 443
    
    # Mac / Linux
    curl -v https://voorbeeld.nl/
  6. Ontwikkelaar: controleer je lokale server

    Kijk in de terminal of je ontwikkelserver nog draait en op welke poort hij luistert; die staat meestal in de opstartregel. Gebruikt de browser localhost en luistert je server alleen op 127.0.0.1, probeer dan http://127.0.0.1:poort. Met lsof zie je welk programma een poort gebruikt; is de poort bezet door een oud proces, zie dan EADDRINUSE.

    lsof -i :3000
  7. Beheerder: controleer of de dienst luistert

    Log in op de server en kijk of er op poort 80 en 443 een proces luistert. Zie je niets, start de webserver en lees de foutmelding als dat mislukt; vaak is het een configuratiefout. Luistert hij alleen op 127.0.0.1, dan is hij van buitenaf niet bereikbaar.

    sudo ss -tlnp
    sudo systemctl status nginx
    sudo nginx -t
    sudo systemctl start nginx
  8. Beheerder: controleer de firewall

    Staat de dienst wel aan, kijk dan of de firewall de poort doorlaat. Bij een firewall die actief weigert (reject) krijgt de bezoeker ‘refused’; bij een firewall die pakketten stil weggooit (drop) een time-out. Controleer ook een eventuele firewall in het beheerpaneel van je server of netwerk.

    sudo ufw status verbose
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp

Let op: Zet een firewall of virusscanner nooit permanent uit om een site te kunnen openen. Test kort, voeg een uitzondering toe en zet de bescherming direct weer aan.

Verschil tussen refused, timed out en reset

Deze drie foutcodes lijken op elkaar, maar vertellen iets anders over wat er op het netwerk gebeurde. Dat helpt om de oorzaak sneller te vinden.

  • ERR_CONNECTION_REFUSED: de server of firewall antwoordt direct met een weigering. Er luistert niets op die poort, of er wordt actief geweigerd.
  • ERR_CONNECTION_TIMED_OUT: er komt helemaal geen antwoord. Pakketten worden onderweg weggegooid of het IP-adres klopt niet.
  • ERR_CONNECTION_RESET: de verbinding kwam wel tot stand, maar werd halverwege afgebroken.

Lees meer bij ERR_CONNECTION_TIMED_OUT en ERR_CONNECTION_RESET.

Wanneer schakel je hulp in?

  • De fout treedt op bij je eigen website en je hebt geen toegang tot de server of weet niet welke dienst moet draaien.
  • De webserver start niet opnieuw op en nginx -t of het systeemlog geeft een melding die je niet begrijpt.
  • Op je computer werkt geen enkele site meer, ook niet na het uitzetten van proxy en VPN.
  • Je moet firewallregels aanpassen op een productieserver en wilt niet het risico lopen jezelf buiten te sluiten.

Lukt het niet? Wij helpen

Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.

Aanvraag

Hulp aanvragen

Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.

Veelgestelde vragen

Vragen over dit probleem

Ligt ERR_CONNECTION_REFUSED aan mij of aan de website?

Test de site via mobiele data op je telefoon. Werkt hij daar ook niet, dan ligt het aan de website; werkt hij daar wel, dan zit het probleem op je eigen computer of netwerk.

Waarom krijg ik ‘localhost refused to connect’?

Je lokale ontwikkelserver draait niet, of luistert op een andere poort of een ander adres dan je in de browser gebruikt. Kijk in de terminal waar de server draait en op welke poort.

Helpt het om de cache van mijn browser te wissen?

Meestal niet: de weigering gebeurt op netwerkniveau, vóór er iets uit de cache wordt gebruikt. Een proxy- of VPN-instelling controleren helpt vaker.

Kunnen jullie dit voor mijn website oplossen?

Ja. We kijken online mee welke dienst niet luistert of wat de firewall blokkeert, en zetten het weer recht.