localhostmacOSdépannagedéveloppement localserveur local

Localhost ne fonctionne pas sur Mac : 7 solutions qui marchent (2026)

Localhost refuse de charger sur votre Mac ? Voici 7 solutions testées : vérification serveur, fichier hosts, pare-feu, ports bloqués. Diagnostic pas à pas.

É

Équipe Locahl

·5 min de lecture

Vous lancez votre serveur de développement, ouvrez localhost:3000 dans votre navigateur, et... rien. "Ce site est inaccessible", "ERR_CONNECTION_REFUSED", ou une page blanche infinie. Frustrant, n'est-ce pas ?

Ce guide vous aidera à diagnostiquer et résoudre les problèmes de localhost sur Mac, étape par étape.

Diagnostic rapide

Avant de plonger dans les solutions, identifions le type de problème :

| Symptôme | Cause probable | Solution | |----------|----------------|----------| | ERR_CONNECTION_REFUSED | Serveur non démarré ou port incorrect | Solution #1 | | Page qui charge indéfiniment | Pare-feu ou timeout | Solution #3 | | localhost OK mais domaine.local non | Fichier hosts | Solution #4 | | Fonctionnait hier, plus aujourd'hui | Cache DNS ou processus zombie | Solution #2, #5 |

Simplifiez la gestion de votre fichier hosts

Locahl vous permet de gérer votre fichier hosts visuellement, sans toucher au terminal. Flush DNS automatique, environnements multiples, et sauvegardes incluses.

Solution #1 : Vérifier que le serveur est démarré

Ça paraît évident, mais c'est la cause la plus fréquente.

Vérifier le terminal

Votre serveur affiche-t-il bien "Listening on port 3000" ou équivalent ?

# Exemple avec npm
npm run dev

# Sortie attendue
> ready - started server on 0.0.0.0:3000

Vérifier qu'un processus écoute

lsof -i :3000

Si rien ne s'affiche, aucun processus n'écoute sur ce port.

Vérifier le bon port

Assurez-vous d'accéder au bon port dans votre navigateur. Si votre serveur dit "port 8080", n'allez pas sur localhost:3000.

Solution #2 : Libérer un port occupé

Si vous voyez "Port 3000 already in use", un autre processus bloque le port.

Identifier le processus

lsof -i :3000

Résultat :

COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
node    12345  user   23u  IPv4  0x1234      0t0  TCP *:3000 (LISTEN)

Tuer le processus

kill -9 12345

Ou pour tuer tous les processus sur un port :

lsof -ti :3000 | xargs kill -9

Solution #3 : Vérifier le pare-feu

Le pare-feu macOS ou des applications de sécurité peuvent bloquer les connexions locales.

Pare-feu macOS

1. Ouvrez Réglages Système > Réseau > Pare-feu 2. Cliquez sur Options... 3. Assurez-vous que votre application (Node, Python, etc.) est autorisée

Applications tierces

Des apps comme Little Snitch, Lulu, ou certains antivirus peuvent bloquer localhost. Vérifiez leurs règles.

Test rapide

Désactivez temporairement le pare-feu pour tester :

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off

N'oubliez pas de le réactiver après :

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on

Solution #4 : Vérifier le fichier hosts

Si localhost ne résout pas vers 127.0.0.1, le problème vient du fichier hosts.

Vérifier le contenu

cat /etc/hosts

Vous devez voir :

127.0.0.1       localhost
::1             localhost

Réparer si nécessaire

Si ces lignes manquent :

sudo nano /etc/hosts

Ajoutez :

127.0.0.1       localhost
::1             localhost

Sauvegardez (Ctrl+O, Entrée, Ctrl+X) puis videz le cache DNS.

À lire aussiFlush DNS Mac : Commandes par Version macOS

Solution #5 : Vider le cache DNS

Un cache DNS corrompu peut empêcher localhost de fonctionner.

sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

Solution #6 : Vérifier l'adresse d'écoute

Certains serveurs écoutent sur 127.0.0.1 uniquement, d'autres sur 0.0.0.0.

Différence importante

  • 127.0.0.1 : Accessible uniquement depuis votre machine
  • 0.0.0.0 : Accessible depuis n'importe quelle interface (utile pour Docker, VM)

Forcer l'adresse dans votre serveur

// Node.js / Express
app.listen(3000, '0.0.0.0', () => {
    console.log('Server running');
});
# Python / Flask
app.run(host='0.0.0.0', port=3000)

Solution #7 : Problèmes spécifiques aux outils

Node.js / npm

# Nettoyer le cache npm
npm cache clean --force

# Supprimer node_modules et réinstaller
rm -rf node_modules package-lock.json
npm install

Docker

# Vérifier que Docker Desktop est lancé
docker ps

# Redémarrer Docker si nécessaire
killall Docker && open /Applications/Docker.app

MAMP / XAMPP

1. Vérifiez que Apache/Nginx est bien démarré (voyant vert) 2. Vérifiez le port dans les préférences (80 vs 8888)

Tester avec 127.0.0.1 vs localhost

Si localhost échoue mais http://127.0.0.1:3000 fonctionne, le problème est dans la résolution DNS, pas dans votre serveur.

# Test localhost
curl -I http://localhost:3000

# Test IP directe
curl -I http://127.0.0.1:3000

Utiliser des domaines locaux personnalisés

Plutôt que localhost, vous pouvez utiliser des domaines comme monprojet.test pour plus de clarté.

À lire aussiComment modifier le fichier hosts sur Mac

Prévenir les problèmes futurs

1. Utilisez des ports différents par projet (3000, 3001, 8000, etc.) 2. Arrêtez proprement vos serveurs (Ctrl+C) au lieu de fermer le terminal 3. Utilisez un gestionnaire comme Locahl pour éviter les conflits de fichier hosts

Conclusion

Les problèmes de localhost sur Mac ont généralement des causes simples : serveur non démarré, port occupé, ou cache DNS obsolète. En suivant ce guide méthodiquement, vous devriez résoudre 99% des cas.

Si le problème persiste, vérifiez les logs de votre application et assurez-vous que votre environnement de développement est correctement configuré.

Partager cet article
Disponible pour macOS

Prêt à simplifier votre workflow ?

Arrêtez de perdre du temps avec le terminal. Locahl vous permet de gérer votre fichier hosts en quelques clics, avec validation automatique et sans risque d'erreur.

  • Interface visuelle intuitive
  • Flush DNS automatique
  • Gestion multi-environnements
  • Sauvegardes automatiques
  • Import/Export JSON
Obtenir Locahl - €9.99Paiement unique, pas d'abonnement

Avis des lecteurs

4.7(3 avis)
Julien M.

"La solution #3 (pare-feu) était mon problème. 2 heures de debug résolues en 5 minutes grâce à cet article."

12 septembre 2025

Claire D.

"Très complet ! Le tableau de diagnostic au début m'a permis d'identifier rapidement la cause."

28 novembre 2025

Hugo P.

"Bon article de troubleshooting. J'aurais aimé plus de détails sur Docker mais sinon parfait."

5 janvier 2026

Questions fréquentes

Pourquoi localhost ne fonctionne pas sur mon Mac ?

Les causes les plus fréquentes sont : serveur non démarré, port déjà utilisé, pare-feu bloquant, fichier hosts corrompu, ou cache DNS obsolète.

Comment vérifier si un serveur tourne sur localhost ?

Utilisez la commande 'lsof -i :PORT' (ex: lsof -i :3000) pour voir si un processus écoute sur le port souhaité.

localhost et 127.0.0.1 sont-ils identiques ?

Techniquement oui, mais localhost passe par la résolution DNS (fichier hosts) tandis que 127.0.0.1 est une IP directe. Si localhost échoue mais 127.0.0.1 fonctionne, le problème vient du fichier hosts.

Comment libérer un port occupé sur Mac ?

Identifiez le processus avec 'lsof -i :PORT', puis tuez-le avec 'kill -9 PID'. Exemple : kill -9 12345.

Le pare-feu Mac peut-il bloquer localhost ?

Oui, si le pare-feu est en mode strict ou si une application de sécurité tierce bloque les connexions locales. Vérifiez dans Réglages Système > Réseau > Pare-feu.

Articles similaires