Feb 20, 2026
Faradilla A.
8min di lettura
Tra i diversi errori di connessione di rete che potresti incontrare c’è “localhost refused to connect”, noto anche come “ERR_CONNECTION_REFUSED”.
Quando provi a connetterti a un indirizzo IP, di solito stai cercando di collegarti a un altro computer. Tuttavia, poiché localhost utilizza l’indirizzo di loopback, connetterti a esso significa stabilire una connessione con il computer che stai utilizzando.
Per questo motivo molti sviluppatori e amministratori di sistema usano localhost per testare programmi o siti ancora in fase di sviluppo. In questo modo si riduce il rischio di compromettere un sito in produzione.
Se non riesci ad accedere a localhost, non potrai visualizzare o testare il tuo progetto in ambiente locale.
Le cause di questo errore possono essere diverse, come mostrato nella tabella seguente. Ricorda inoltre che puoi accedere a localhost solo dalla tua macchina locale: non è possibile farlo da un altro dispositivo.
| Codice di errore | Localhost refused to connect |
| Tipo di errore | Errore lato browser o firewall |
| Variazioni di errore | ERR_CONNECTION_REFUSED 127.0.0.1 refused to connect Questo sito non è raggiungibile – localhost ha rifiutato la connessione |
| Cause degli errori | Server bloccato dal firewall Server in esecuzione su una porta errata Server Apache non in esecuzione o configurato in modo errato Impostazioni del browser da riconfigurare |
L’errore “localhost refused to connect” è un problema comune che si verifica quando lavori in ambiente locale. Il localhost simula un server web in esecuzione sul tuo computer. Quando compare questo errore, una delle cause più frequenti è una porta configurata in modo errato. Altri motivi comuni includono permessi insufficienti o un server web Apache non avviato o configurato correttamente.
Di seguito trovi cinque metodi per risolvere l’errore “localhost refused to connect”, senza un ordine specifico.
Un firewall è un sistema di sicurezza che monitora e filtra il traffico di rete, bloccando potenziali minacce. Sebbene sia uno strumento essenziale, i suoi meccanismi di rilevamento possono talvolta generare falsi positivi.
In alcuni casi, il firewall può bloccare erroneamente pagine web sicure o connessioni in ingresso. Se stai sviluppando un sito web e devi accedere alla sua versione in locale, può essere utile disattivare temporaneamente il firewall per verificare se è la causa dell’errore.
Ricorda di riattivarlo immediatamente dopo aver completato il test e quando il messaggio di errore “ERR_CONNECTION_REFUSED” non compare più.
Di seguito trovi i passaggi per disattivare il firewall su Mac, Windows e Linux.
Come disattivare il firewall su Mac


Tieni presente che i passaggi possono variare leggermente a seconda della versione di macOS.
Come disattivare il firewall su Windows
Su Windows 10, 8, 7 e Vista puoi disattivare il firewall tramite il Pannello di controllo oppure tramite il Prompt dei comandi.
Ecco i passaggi per disattivare il firewall tramite il pannello di controllo:



Se l’opzione non è selezionabile, significa che un altro software di sicurezza sta gestendo il firewall. In tal caso, potrebbe essere necessario disinstallarlo prima.
In alternativa, puoi disattivare il firewall tramite il Prompt dei comandi seguendo questi passaggi:
netsh advfirewall set allprofiles state off
Come disattivare il firewall su Linux
I passaggi per arrestare e disabilitare il firewall variano in base alla distribuzione Linux utilizzata.
Se usi Ubuntu o Debian, il firewall è generalmente gestito da ufw. Se usi CentOS o RHEL, lo strumento predefinito è firewalld.
È importante arrestare prima il firewall e poi disabilitarlo. In caso contrario, potrebbero verificarsi errori durante il processo.
Ecco i passaggi per disattivare il firewall con ufw (Ubuntu/Debian):
sudo ufw disable
sudo systemctl disable ufw
sudo ufw status sudo systemctl status ufw
sudo systemctl enable ufw sudo ufw enable ## verifica che ufw sia avviato ## sudo ufw status
In alternativa, se utilizzi firewalld, segui questi passaggi.
sudo systemctl stop firewalld
sudo systemctl disable firewalld sudo systemctl mask --now firewalld
sudo systemctl status firewalld
sudo systemctl unmask --now firewalld sudo systemctl enable firewalld sudo systemctl start firewalld ## Verifica che firewalld sia avviato ## sudo firewall-cmd --state
La cache DNS memorizza le informazioni dei siti web visitati per velocizzare le connessioni successive.
Tuttavia, se contiene dati obsoleti o errati, può causare problemi di connessione e generare l’errore “localhost refused to connect”.
Per svuotare la cache DNS su Windows:
ipconfig /flushdns
La porta predefinita di un server web è la porta 80. Quando digiti localhost nel browser, il sistema tenta di collegarsi a localhost:80. Se il server web non è configurato per utilizzare la porta predefinita, oppure se la porta 80 è già occupata da un’altra applicazione, potresti visualizzare l’errore “localhost refused to connect” o il messaggio “127.0.0.1 refused to connect”.
Ad esempio, se Skype utilizza la porta 80, non è possibile eseguire Apache sulla stessa porta contemporaneamente.
Per risolvere il problema, verifica innanzitutto se la porta 80 è libera. In questo esempio utilizzeremo XAMPP.
XAMPP è uno stack server multipiattaforma utilizzato per creare ambienti di sviluppo locali su Windows, Mac e Linux. Viene spesso usato per installare WordPress in locale.
Ecco i passaggi per verificare se la porta 80 è libera su Windows e Linux (la procedura su Mac è leggermente diversa):


Ora procedi configurando il numero di porta corretto modificando la direttiva Listen nel file di configurazione.
La direttiva Listen indica ad Apache HTTPd su quali indirizzi IP o porte deve restare in ascolto. Se questa direttiva non è presente o è configurata in modo errato nel file di configurazione, il server potrebbe non avviarsi.
Ecco i passaggi per modificare la porta di Apache in XAMPP:

Listen 80 ServerName localhost:80
Listen 8080 ServerName localhost:8080
Se utilizzi WAMP — uno stack di soluzioni per Windows — segui questi passaggi per cambiare la porta in uso.
Listen 80 ServerName localhost:80
Listen 8080 ServerName localhost:8080
Se il server web Apache non è in esecuzione, non potrai accedere a localhost.
Per verificare lo stato di Apache, il comando varia in base alla distribuzione utilizzata.
Ecco il comando per Debian o Ubuntu:
sudo systemctl status apache2
Ecco il comando per CentOS, RHEL o Fedora:
systemctl status httpd
Il risultato del controllo indicherà se il server è in esecuzione o arrestato.
Se il server risulta fermo, prova a riavviarlo con il comando corrispondente.
Per Debian e Ubuntu:
sudo systemctl restart apache2
Per CentOS, RHEL o Fedora:
# systemctl restart httpd
L’output del comando di riavvio sarà simile al seguente:
* Restarting web server apache2 [ OK ]
Se il riavvio non riesce, verrà mostrato un messaggio di errore. Il contenuto può variare in base alla distribuzione, ma sarà simile a questo:
apache2: unrecognized service
Failed to restart apache2.service: Unit apache.service failed to load: No such file or directory.
Se visualizzi questi messaggi, prova a reinstallare il servizio. Dopo aver verificato che il server web sia installato correttamente, riavvialo utilizzando il comando appropriato.
Le impostazioni del browser possono causare l’errore “127.0.0.1 refused to connect”, poiché ogni browser ha configurazioni e comportamenti differenti.
Ad esempio, quando inserisci un indirizzo HTTP, alcuni browser reindirizzano automaticamente alla versione HTTPS. Se il sito non dispone di un certificato SSL valido o non ne dispone affatto, potrebbe comparire il messaggio “localhost refused to connect”.
Se utilizzi Google Chrome, segui questi passaggi:


Quando provi ad accedere a localhost, potresti riscontrare due errori diversi: ERR_CONNECTION_REFUSED e ERR_CONNECTION_TIMEOUT. Sebbene siano simili, indicano problemi differenti e richiedono soluzioni diverse.
L’errore “ERR_CONNECTION_REFUSED” su localhost indica che il server ha rifiutato attivamente la connessione richiesta. L’errore “ERR_CONNECTION_TIMEOUT”, invece, significa che non è stata ricevuta alcuna risposta e che il client è rimasto in attesa fino allo scadere del tempo massimo consentito.
Per risolvere il problema “ERR_CONNECTION_REFUSED” su localhost, controlla innanzitutto il firewall, poiché potrebbe bloccare i pacchetti di dati in ingresso. Verifica inoltre che la direttiva Listen nel file httpd.conf sia configurata correttamente e che Apache sia in ascolto sulla porta prevista.
Per risolvere “ERR_CONNECTION_TIMEOUT” su Chrome, controlla invece le impostazioni di connessione e assicurati che il servizio sia effettivamente in esecuzione. Questo errore può indicare che il server non è avviato correttamente oppure che non è installato in modo corretto.
L’errore “localhost refused to connect” è un problema di connessione di rete che può verificarsi quando lavori su un progetto in ambiente locale.
Può comparire se il firewall blocca il server oppure se viene utilizzata una porta errata. L’errore può manifestarsi anche quando il server web Apache non è in esecuzione o non è configurato correttamente, oppure quando le impostazioni del browser non sono adeguate.
Esistono cinque metodi per risolvere l’errore “localhost refused to connect”:
Seguendo questi passaggi, puoi risolvere l’errore “localhost refused to connect” e ripristinare l’accesso al tuo ambiente di sviluppo locale.
Un’alternativa all’uso di localhost per lo sviluppo in locale è utilizzare l’indirizzo IP del tuo computer come host. Puoi trovare il tuo indirizzo IP nelle impostazioni di sistema oppure digitando ipconfig nel Prompt dei comandi su Windows o ifconfig nel Terminale su Mac o Linux.
Un indirizzo IP localhost si riferisce al computer che stai attualmente utilizzando. È l’indirizzo dell’interfaccia di rete di loopback, alla quale viene generalmente assegnato l’indirizzo IP 127.0.0.1. Questo indirizzo consente di accedere ai servizi di rete del proprio computer senza connettersi a una rete esterna.
Tutti i contenuti dei tutorial presenti su questo sito web sono soggetti ai rigorosi standard editoriali e ai valori di Hostinger.