Inizio
/
Assistenza sito web
/
Localhost Refused to Connect – Cosa significa questo errore e come risolverlo

Localhost Refused to Connect – Cosa significa questo errore e come risolverlo

Stai vedendo un messaggio di errore “Localhost Refused to Connect”? Anche se non è molto comune sui siti web online, questo errore di solito significa che il tuo browser non riesce ad accedere a un server web locale.

Si tratta di un errore di connessione di rete che si verifica tipicamente in un ambiente di sviluppo locale quando il tuo sistema non riesce a raggiungere il software del server in esecuzione sulla tua macchina. Le ragioni comuni includono un server web Apache fermo, porte bloccate o impostazioni del firewall errate.

Questo articolo spiega cosa causa l’errore e come risolverlo efficacemente.

NOTA: Questo errore appare tipicamente quando si lavora con un setup di sviluppo locale sul proprio computer (ad esempio utilizzando strumenti come XAMPP o MAMP).

Non influisce sul tuo sito live ospitato su SiteGround. Se vedi questo errore mentre visualizzi qualcosa localmente, continua a leggere per scoprire come risolverlo.

Punti chiave

  • L’errore “Localhost Refused to Connect” appare quando il tuo browser non riesce a raggiungere un server locale—di solito perché il software del server è inattivo, la porta specificata è bloccata o un firewall sta interferendo.
  • Le soluzioni comuni includono controllare se il tuo web server è in esecuzione correttamente, svuotare la cache DNS e verificare l’indirizzo IP di localhost.
  • Utilizzare il formato URL corretto e assicurarsi che nessun servizio in conflitto stia occupando la porta predefinita sono anche passaggi chiave.

Cosa significa “Localhost Refused to Connect”?

Questo errore si verifica quando il tuo browser tenta di connettersi a localhost—che punta alla tua macchina locale—ma la connessione fallisce. Questo significa tipicamente che il server che ci si aspetta risponda a quell’indirizzo di rete non è disponibile o sta rifiutando la connessione.

Google Chrome che mostra il messaggio di errore “localhost ha rifiutato la connessione” con ERR_CONNECTION_REFUSED, suggerendo di controllare le impostazioni di proxy e firewall.

Localhost (di solito 127.0.0.1) fa parte dell’interfaccia di rete loopback utilizzata per simulare un ambiente live sul tuo dispositivo. Se qualcosa è configurato male, il tuo browser non sarà in grado di caricare la pagina web che stai sviluppando o testando.

Cause comuni dell’errore “Localhost Refused to Connect”

Diversi problemi di sistema locale o di configurazione possono innescare questo errore. Comprendere queste cause più comuni può aiutarti a individuare il problema:

  • Il tuo server Apache o Nginx locale non è in esecuzione: Se nessun server web è attivo sulla tua macchina, non c’è nulla a cui il browser possa connettersi.
  • Un altro programma sta usando la stessa porta: Altre applicazioni o strumenti di sviluppo potrebbero già utilizzare la porta 80 o 8080, causando un conflitto.
  • Il firewall del tuo sistema sta bloccando le connessioni: Il software di sicurezza potrebbe interpretare le richieste locali come sospette e bloccarle.
  • Localhost non è mappato correttamente: Se il tuo file hosts non mappa localhost a 127.0.0.1, la connessione non può essere stabilita.
  • Cache DNS o del browser corrotta: Vecchi record DNS o file in cache potrebbero interferire con il modo in cui il tuo browser gestisce le richieste locali.
  • Configurazione errata del browser o del proxy: Estensioni o impostazioni del proxy potrebbero intercettare le richieste a localhost o reindirizzarle in modo errato.

Come risolvere l’errore “Localhost Refused to Connect”

1. Assicurati che il tuo server (Apache, Nginx, ecc.) sia in esecuzione

Se nessun server web è in esecuzione sul tuo computer, il tuo browser non riceverà una risposta. Prima di tutto, controlla lo stato del server web Apache (o Nginx, se utilizzato):

  • Ubuntu/Debian: sudo systemctl status apache2
  • CentOS/Red Hat: sudo systemctl status httpd
  • Windows (XAMPP): Apri la finestra del Pannello di Controllo di XAMPP e cerca lo stato di Apache

Se non è attivo, avvia il server:

  • Linux: sudo systemctl start apache2 o httpd
  • Windows: Clicca su “Start” accanto ad Apache in XAMPP

Se Apache non riesce ad avviarsi, ispeziona il tuo file httpd.conf o apache2.conf per errori di sintassi o conflitti di porta. Assicurati anche che il file di configurazione includa una direttiva Listen valida (ad es., Listen 80).

Consiglio: Se stai usando SiteGround, il tuo ambiente di hosting include già un server web completamente configurato – non devi installare o gestire Apache manualmente.

Per testare le modifiche in sicurezza, considera l’uso di un ambiente di staging o un sottodominio, invece di un server locale.

2. Disabilita temporaneamente il tuo firewall o antivirus

Il software di sicurezza e le impostazioni di rete possono bloccare il tuo server web locale dall’accettare connessioni. Per escludere questa possibilità:

  1. Disabilita temporaneamente il tuo firewall:
    • Windows: Vai a Pannello di Controllo > Windows Defender Firewall. Disattiva Windows Defender Firewall per le reti private.
      Uno screenshot dell'opzione del firewall di Windows per attivare/disattivare Defender.
    • macOS: Vai a Impostazioni di Sistema > Rete > Firewall e disabilitalo.
      Uno screenshot della pagina delle impostazioni di rete di MacOS in cui è possibile disattivare il firewall.
    • Linux: Esegui il seguente comando: sudo ufw disable
  2. Prova ad accedere a http://localhost nel tuo browser.
  3. Se funziona, il problema è probabilmente causato dal tuo firewall che impedisce a Google Chrome o ad altre app di accedere alle porte locali.
  4. Riattiva il firewall una volta completato il test e crea una regola per consentire le connessioni localhost se necessario.

Controlla anche se il software antivirus blocca il traffico web o isola l’attività del browser.

3. Verifica l’indirizzo IP di Localhost (127.0.0.1)

Su tutti i sistemi, localhost dovrebbe risolversi in 127.0.0.1. Puoi testarlo:

  • Aprendo un browser e inserendo 127.0.0.1 direttamente nella barra degli indirizzi
  • Eseguendo ping localhost o ping 127.0.0.1 in un terminale o prompt dei comandi

Se il ping fallisce o mostra un indirizzo diverso, controlla il tuo file hosts:

  • Windows: Usa Notepad per aprire la directory C:\Windows\System32\drivers\etc\hosts

    Apri il file hosts nel Blocco note
  • macOS/Linux: Usa il Terminale per aprire /etc/hosts

    Modifica del file hosts in macOS utilizzando l’editor nano del Terminale. Il file include voci localhost standard e un dominio personalizzato mappato su un indirizzo IP specifico.

Aggiungi questa riga se manca o è commentata:

127.0.0.1    localhost

Salva la modifica, riavvia il browser e svuota la cache DNS successivamente.

4. Svuota la cache DNS

Anche se localhost non dovrebbe dipendere dal DNS, una cache DNS corrotta può interferire con la risoluzione dei nomi locali o reindirizzare le richieste inaspettatamente.

  • Windows: Apri il Menu Start, cerca “cmd,” quindi esegui: ipconfig /flushdns
  • macOS: Nel Terminale: sudo killall -HUP mDNSResponder
  • Linux: Prova sudo systemd-resolve –flush-caches o riavvia il servizio nscd/dnsmasq

Questo cancella i record memorizzati nella tua cache DNS, il che può aiutare a risolvere ricerche internet configurate male che influenzano localhost.

Per passaggi dettagliati, consulta le nostre guide dedicate su come svuotare la cache DNS in Windows, macOS e Linux.

5. Controlla la configurazione delle porte

Assicurati che il tuo server web stia ascoltando sulla porta corretta. Usa questi comandi per identificare le porte attive:

  • netstat -na | find “LISTEN” (Windows)
  • ss -tuln (Linux/macOS)

Se la porta 80 (il numero di porta predefinito) è in uso da un altro servizio, cambia la direttiva Listen nel tuo config di Apache o Nginx a un numero di porta libero, come 8080 o 8888.

Quindi riavvia il server e accedi alla pagina usando http://localhost:8080.

6. Usa il formato URL corretto (con porta)

Assicurati che il tuo browser stia usando l’indirizzo web http corretto per accedere al server locale. Se il server è impostato su una porta non predefinita, includila esplicitamente nell’URL:

http://localhost:8080

Controlla anche per errori di battitura come htp:// o localhst, che possono innescare un errore rifiutato di connettersi o reindirizzare a un sito live invece che al tuo ambiente locale.

7. Regola le impostazioni del browser o prova un browser diverso

Estensioni del browser, dati in cache o impostazioni proxy configurate male possono bloccare localhost. Per testare:

  • Svuota la cache e i cookie dalle impostazioni del tuo browser
  • Controlla se è impostato un proxy (in Chrome: chrome://settings/system)
  • Prova ad accedere a localhost da un altro browser come Firefox o Edge
  • In Chrome, naviga a chrome://net-internals/#hsts e cancella eventuali politiche di sicurezza del dominio per localhost

Se lo stesso errore appare su tutti i browser, il problema probabilmente risiede al di fuori del browser stesso.

8. Controlla URL localhost hardcoded in temi o plugin

Se vedi questo errore su un sito live ospitato su SiteGround, potrebbe essere causato da un tema o plugin che tenta di caricare un file o una risorsa da http://localhost.

Questo di solito accade quando uno sviluppatore codifica un URL localhost durante lo sviluppo locale (ad esempio per un file JavaScript o un endpoint API) e si dimentica di aggiornarlo prima di spostare il sito live.

Per controllare:

  • Apri gli Strumenti per sviluppatori del browser (clic destro → Ispeziona → scheda Console o Network)
  • Cerca richieste fallite a localhost o 127.0.0.1
  • Aggiorna il codice del tuo tema o plugin per rimuovere o sostituire quegli URL con il corretto percorso del sito live

Questo è un errore lato browser — il tuo server di hosting web non sta rifiutando la connessione. La richiesta viene inviata al computer del visitatore, che naturalmente non risponde.

Metodo alternativo per accedere a Localhost

Se localhost non funziona, prova ad accedere al tuo progetto utilizzando l’indirizzo internet locale della macchina (IP privato):

  • Windows: ipconfig → Cerca “Indirizzo IPv4”
  • macOS/Linux: ifconfig o ip a

Usa l’IP in questo modo (sostituisci XXX.XXX.X.XX con il tuo indirizzo IP):

http://XXX.XXX.X.XX:8080

Questo può anche aiutare quando si testa da un altro dispositivo sulla stessa rete. Assicurati solo che le impostazioni del firewall del dispositivo consentano connessioni in entrata.

Consigli finali per evitare “Localhost Refused to Connect” in futuro

Una volta risolto il problema, ecco alcuni consigli per aiutarti a prevenirlo in futuro:

  • Verifica sempre che il tuo server web locale sia in esecuzione prima di accedere a localhost
  • Usa numeri di porta coerenti e corretti nella configurazione del server e negli URL
  • Controlla eventuali riferimenti localhost residui prima di spostare un sito dallo sviluppo locale a un ambiente live
  • Svuota regolarmente la cache DNS e la cache del browser se noti errori di connessione
  • Rivedi le impostazioni del firewall se le connessioni locali smettono improvvisamente di funzionare

Se stai usando SiteGround per l’hosting, considera di evitare setup locali complessi utilizzando il nostro strumento Staging integrato per i siti WordPress, o un sottodominio per i test. Questo di solito elimina la necessità di eseguire un server web sul tuo computer locale.

Che tu stia iniziando con lo sviluppo locale o distribuendo progetti live, capire cosa innesca un errore “localhost ha rifiutato la connessione” ti aiuta a risolverlo più velocemente — e a evitarlo in futuro.

Condividi questo articolo