Non perdere le offerte a tempo limitato!

Come risolvere l’errore “localhost refused to connect”

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 erroriServer 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.

5 metodi per risolvere l’errore “localhost refused to connect”

Di seguito trovi cinque metodi per risolvere l’errore “localhost refused to connect”, senza un ordine specifico.

1. Disattiva temporaneamente il firewall

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

  1. Vai su Preferenze di Sistema.
  2. Seleziona Sicurezza e Privacy.
Accedi a Sicurezza e Privacy del Mac tramite Preferenze di Sistema
  1. Apri la scheda Firewall per visualizzare le impostazioni complete.
  2. Fai click sull’icona del lucchetto e inserisci nome utente e password.
  3. Fai click su Disattiva firewall. Verrà mostrato un messaggio che informa che, disattivando il firewall, verranno accettate tutte le connessioni in ingresso, incluse quelle potenzialmente non autorizzate.
Disattivare il firewall del Mac tramite Sicurezza e Privacy
  1. Fai click nuovamente sul lucchetto per impedire ulteriori modifiche.

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:

  1. Apri il Pannello di controllo. Vai su Sistema e sicurezza → Windows Defender Firewall.
Accesso a Windows Defender Firewall tramite Sistema e sicurezza
  1. Seleziona Attiva o disattiva Windows Defender Firewall.
Selezione di “Attiva o disattiva Windows Defender Firewall”
  1. Disattiva il firewall sia per le reti private sia per quelle pubbliche.
Disattivazione dei firewall nelle reti private e pubbliche
  1. Fai click su OK per applicare le modifiche.

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:

  1. Apri il Prompt dei comandi come amministratore.
  2. Inserisci il seguente comando:
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):

  1. Arresta ufw con il seguente comando:
sudo ufw disable
  1. Quando il firewall è stato arrestato correttamente, disabilita il servizio all’avvio:
sudo systemctl disable ufw
  1. Verifica che ufw sia disabilitato:
sudo ufw status
sudo systemctl status ufw
  1. Per riattivare ufw:
sudo systemctl enable ufw
sudo ufw enable
## verifica che ufw sia avviato ##
sudo ufw status

In alternativa, se utilizzi firewalld, segui questi passaggi.

  1. Arresta firewalld:
sudo systemctl stop firewalld
  1. Disabilita il servizio all’avvio:
sudo systemctl disable firewalld
sudo systemctl mask --now firewalld
  1. Verifica che firewalld sia stato disabilitato:
sudo systemctl status firewalld
  1. Esegui i seguenti comandi per abilitare nuovamente firewalld:
sudo systemctl unmask --now firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
## Verifica che firewalld sia avviato ##
sudo firewall-cmd --state

2. Svuota la cache DNS

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:

  1. Digita cmd nella barra di ricerca accanto al menu Start e apri il Prompt dei comandi.
  2. Inserisci il seguente comando:
ipconfig /flushdns
  1. Verifica se il problema “127.0.0.1 refused to connect” è stato risolto.

3. Connettiti alla porta corretta

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):

  1. Avvia XAMPP dal menu Start.
  2. Nel pannello di controllo, fai click su Netstat.
Selezione del pulsante Netstat nel pannello di controllo di XAMPP per vedere tutte le porte in uso
  1. Verrà mostrato l’elenco delle porte attualmente in uso. Verifica se la porta 80 è libera o già occupata da un’altra applicazione.
Elenco delle porte in uso in Netstat
  1. Se la porta 80 è già utilizzata, scegli una porta disponibile, ad esempio 8080.

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:

  1. Avvia XAMPP dal menu Start.
  2. Fai doppio click sull’icona di XAMPP nell’area di notifica.
  3. Nel pannello di controllo, fai click su Stop accanto ad Apache.
Arresta Apache dal pannello di controllo di XAMPP
  1. Apri Esplora file, quindi trova il file httpd.conf nella cartella config. Se usi Windows, si trova in C:\xampp\apache\conf. Se usi Linux, si trova in bin/apache. Su Mac, il percorso è Applications/XAMPP/xamppfiles/etc/httpd.conf.
  2. Aprilo con Notepad o con qualsiasi altro editor di testo disponibile. Poi cerca queste righe all’interno del file:
Listen 80
ServerName localhost:80
  1. Se la porta 80 è libera, assicurati che il numero di porta nella direttiva Listen corrisponda alla porta su cui desideri eseguire localhost. Se un’altra applicazione sta usando la porta 80, sostituiscila con un numero di porta disponibile. In questo esempio, lo imposteremo sulla porta 8080:
Listen 8080
ServerName localhost:8080
  1. Salva il file. Se richiesto, conferma i privilegi amministrativi selezionando .
  2. Apri nuovamente il pannello di controllo di XAMPP, quindi avvia il server web Apache.
  3. Vai su http://localhost:8080 oppure su https://127.0.0.1:8080/ per verificare che localhost funzioni correttamente.

Se utilizzi WAMP — uno stack di soluzioni per Windows — segui questi passaggi per cambiare la porta in uso.

  1. Fai click con il tasto destro sulla barra delle applicazioni e seleziona Gestione attività.
  2. Fai click su Termina attività per tutte le istanze di WAMP ancora in esecuzione.
  3. Apri Esplora file e vai alla cartella C:\wamp\apache2\conf.
  4. Cerca il file di configurazione HTTPD e aprilo con un editor di testo, ad esempio Blocco note.
  5. Cerca queste righe all’interno del file:
Listen 80
ServerName localhost:80
  1. Se la porta 80 è libera, assicurati che il numero di porta nella direttiva Listen corrisponda alla porta su cui desideri eseguire localhost. Se la porta 80 è già utilizzata da un’altra applicazione, sostituisci il numero con una porta disponibile, ad esempio:
Listen 8080
ServerName localhost:8080
  1. Salva il file.
  2. Apri di nuovo WAMP per verificare se l’errore “localhost refused to connect” è stato risolto.

4. Assicurati che Apache sia in esecuzione

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.

5. Controlla le impostazioni del browser

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:

  1. Inserisci chrome://net-internals/#hsts nella barra degli indirizzi.
Impostazioni HSTS di Chrome.
  1. Individua la sezione Delete domain security policies e digita localhost.
  1. Riavvia il browser.

Differenza tra “ERR_CONNECTION_REFUSED” e “ERR_CONNECTION_TIMEOUT”

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.

Conclusioni

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”:

  • Disattiva temporaneamente il firewall – Disabilita il firewall in modo che non blocchi il progetto ospitato su localhost.
  • Svuota la cache DNS – Cancella i record DNS memorizzati che potrebbero causare conflitti.
  • Connettiti alla porta corretta – Verifica che Apache sia in ascolto sulla porta 80 oppure su un’altra porta configurata per localhost.
  • Assicurati che Apache sia in esecuzione – Controlla che il server web sia avviato e installato correttamente.
  • Controlla le impostazioni del browser – Verifica che il browser non stia forzando connessioni HTTPS o bloccando certificati SSL non validi.

Seguendo questi passaggi, puoi risolvere l’errore “localhost refused to connect” e ripristinare l’accesso al tuo ambiente di sviluppo locale.

FAQ sull’errore “localhost refused to connect”

Qual è un’alternativa a localhost?

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.

Che cos’è un indirizzo IP localhost?

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.

Author
L'autore

Faradilla Ayunindya

Faradilla, conosciuta anche come Ninda, è Content Marketing Specialist in Hostinger, con oltre 5 anni di esperienza nel settore e un background di 10 anni come linguista. Si dedica a rendere la tecnologia più accessibile, adattando guide complesse in tutorial chiari e facili da seguire. Nel tempo libero, quando non è impegnata a seguire le ultime tendenze del mondo tech e del digital marketing, ama approfondire temi legati alle scienze della vita o guardare video divertenti di animali. Puoi connetterti con lei su LinkedIn.

Cosa dicono i nostri clienti

Lascia un commento

Please fill the required fields.Please accept the privacy checkbox.Please fill the required fields and accept the privacy checkbox.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.