ERR_CONNECTION_REFUSED è uno degli errori di connessione più comuni che gli utenti e i proprietari di siti web devono affrontare. Indica che il browser non è riuscito a stabilire una connessione con il server: la richiesta è stata inviata, l’indirizzo IP è stato risolto, ma il server ha rifiutato di accettare la connessione.

Cosa significa effettivamente ERR_CONNECTION_REFUSED

Quando si apre un sito web, il browser esegue le seguenti operazioni:

  1. Risolve il nome di dominio in un indirizzo IP (interrogazione DNS);
  2. Invia una richiesta HTTP/HTTPS all’IP e alla porta risolti (di solito 80 o 443);
  3. Attende una risposta dal server.

Se il server rifiuta attivamente il tentativo di connessione, il browser restituisce il seguente errore:

ERR_CONNECTION_REFUSED

Non si tratta di un errore DNS o di timeout, ma di un rifiuto diretto di connettersi, provocato da condizioni specifiche.

Soluzioni passo-passo per ERR_CONNECTION_REFUSED

1. Test della connettività Internet e della disponibilità del sito

Verificare innanzitutto che la connessione a Internet funzioni correttamente. Tentate di accedere al sito web utilizzando un browser o un dispositivo diverso.

2. Svuotare la cache DNS

Una cache DNS obsoleta o danneggiata può causare connessioni non riuscite. Cancellatela utilizzando i seguenti comandi:

  • Windows:
    ipconfig /flushdns
    
  • macOS:
    sudo dscacheutil - flushcache; sudo killall -HUP mDNSResponder
    
  • Linux:
    sudo systemd-resolve -flush-cache
    

3. Aggiornare le impostazioni DNS

I server DNS non corretti o lenti possono bloccare o indirizzare erroneamente le richieste. Impostate manualmente il vostro DNS su provider affidabili:

  • Google DNS: 8.8.8.8 e 8.8.4.4
  • Cloudflare DNS: 1.1.1.1 e 1.0.0.1

Modificare queste impostazioni nelle impostazioni della scheda di rete o nel pannello di configurazione del router.

4. Disattivare i software VPN, Proxy e di sicurezza

I servizi VPN, le configurazioni proxy e i software firewall/antivirus possono interferire con l’instradamento del traffico o bloccare le connessioni:

  • Disattivare qualsiasi VPN o proxy attivo;
  • Disattivare temporaneamente la protezione antivirus e firewall;
  • Riavviare il browser in modalità incognito/privata con le estensioni disattivate.

5. Cancellare la cache del browser

I cookie danneggiati o i dati memorizzati nella cache possono causare problemi di accesso. In Chrome, andare a:

Impostazioni → Privacy → Cancella dati di navigazione
Selezionare “File memorizzati nella cache” e “Cookie”, quindi cancellare e riavviare il browser.

6. Controllare l’accesso alla porta HTTP/HTTPS

Se si gestisce un sito web o un server, verificare che le porte 80 (HTTP) e 443 (HTTPS) siano aperte e non bloccate dalle impostazioni del firewall. Utilizzare i seguenti comandi UFW, se applicabili:

sudo ufw allow 80
sudo ufw allow 443

Assicurarsi che le modifiche siano applicate ricaricando la configurazione del firewall.

7. Verifica dello stato del server web

Assicurarsi che il server web sia attivo e funzionante:

sudo systemctl status nginx
sudo systemctl status apache2

Se il servizio è inattivo, riavviarlo:

sudo systemctl restart nginx

8. Testare il certificato SSL

Anche un certificato SSL scaduto, mal configurato o mancante può causare il rifiuto della connessione. Utilizzate questo comando per verificarlo:

openssl s_client -connect yourdomain.com:443

9. Esaminare i log degli errori del server

Se l’accesso al server è disponibile, i registri possono rivelare le ragioni esatte delle connessioni rifiutate:

  • Per Nginx: /var/log/nginx/error.log
  • Per Apache: /var/log/apache2/error.log

Controllare se ci sono problemi di configurazione, IP bloccati o errori di servizio.