Localhost Refused to Connect – Cosa significa questo errore e come risolverlo
Questo tutorial riguarda i seguenti argomenti:
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.
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.

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).
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à:
- Disabilita temporaneamente il tuo firewall:
- Windows: Vai a Pannello di Controllo > Windows Defender Firewall. Disattiva Windows Defender Firewall per le reti private.
- macOS: Vai a Impostazioni di Sistema > Rete > Firewall e disabilitalo.
- Linux: Esegui il seguente comando: sudo ufw disable
- Windows: Vai a Pannello di Controllo > Windows Defender Firewall. Disattiva Windows Defender Firewall per le reti private.
- Prova ad accedere a http://localhost nel tuo browser.
- Se funziona, il problema è probabilmente causato dal tuo firewall che impedisce a Google Chrome o ad altre app di accedere alle porte locali.
- 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
- macOS/Linux: Usa il Terminale per aprire /etc/hosts
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.
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.