Locahl
Acheter Locahl
localhostmacOSdépannagedéveloppement localserveur local

Localhost ne fonctionne pas sur Mac : 7 solutions

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

·Mis à jour le ·6 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 ?

Pourquoi localhost ne fonctionne pas sur Mac ?

Si localhost ne fonctionne pas sur Mac, le serveur n'est généralement pas démarré, écoute sur un autre port, ou la ligne `127.0.0.1 localhost` manque dans /etc/hosts. Vérifiez que le serveur tourne avec `curl -I http://localhost:3000`, contrôlez le port utilisé, rétablissez l'entrée localhost, puis videz le cache DNS.

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ômeCause probableSolution
ERR_CONNECTION_REFUSEDServeur non démarré ou port incorrectSolution #1
Page qui charge indéfinimentPare-feu ou timeoutSolution #3
localhost OK mais domaine.local nonFichier hostsSolution #4
Fonctionnait hier, plus aujourd'huiCache DNS ou processus zombieSolution #2, #5

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 ?

BASH
# Exemple avec npm
npm run dev

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

Vérifier qu'un processus écoute

BASH
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

BASH
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

BASH
kill -9 12345

Ou pour tuer tous les processus sur un port :

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

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

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

BASH
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

BASH
cat /etc/hosts

Vous devez voir :

127.0.0.1       localhost
::1             localhost

Réparer si nécessaire

Si ces lignes manquent :

BASH
sudo nano /etc/hosts

Ajoutez :

127.0.0.1       localhost
::1             localhost

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

Sources et ressources externes

À lire aussiFlush DNS Mac : Commandes par Version macOS

Solution #5 : Vider le cache DNS

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

BASH
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

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

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

Node.js / npm

BASH
# Nettoyer le cache npm
npm cache clean --force

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

Docker

BASH
# 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.

BASH
# 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

Vérifications par framework

Next.js

BASH
npm run dev
lsof -i :3000
curl -I http://localhost:3000

Si vous utilisez un domaine personnalisé, ajoutez-le dans /etc/hosts :

TEXT
127.0.0.1 app.test
::1       app.test

Docker

Vérifiez le mapping entre port container et port hôte :

BASH
docker compose ps
docker ps
curl -I http://localhost:8080

MAMP

MAMP utilise souvent localhost:8888 au lieu du port 80. Vérifiez les préférences avant de modifier le fichier hosts.

Localhost ou domaine .test ?

Utilisez localhost pour un test rapide. Utilisez .test quand vous avez des sous-domaines, des cookies, OAuth, HTTPS local ou plusieurs projets clients.

Évitez .local sur Mac : Bonjour/mDNS peut ralentir ou intercepter la résolution.

Checklist finale avant de chercher plus loin

Avant de réinstaller votre stack, vérifiez dans cet ordre : le serveur écoute, le port est libre, 127.0.0.1 répond, localhost résout correctement, puis le navigateur n'a pas gardé un ancien cache. Cette séquence sépare le problème serveur du problème DNS.

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 sur Windows, macOS et Linux

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
Acheter Locahl4,99 €Paiement 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

4 min de lecture
localhostdépannageERR_CONNECTION_REFUSED

Localhost n’autorise pas la connexion : comment corriger

Corrigez « localhost n’autorise pas la connexion » (ERR_CONNECTION_REFUSED) dans Chrome, sous Windows, Mac, XAMPP et VS Code : serveur, port, IPv6 vs IPv4, fichier hosts, pare-feu.

É

Équipe Locahl

Outils développeurs

4 min de lecture
localhostsous-domainesdéveloppement local

Utiliser des sous-domaines sur localhost en développement local

Utilisez des sous-domaines sur localhost : l’astuce gratuite *.localhost que les navigateurs résolvent seuls, les sous-domaines fixes via le fichier hosts, et les wildcards avec dnsmasq (Mac, Linux).

É

Équipe Locahl

Outils développeurs

3 min de lecture
localhostdépannageERR_CONNECTION_REFUSED

Corriger « Ce site est inaccessible » sur localhost

Corrigez « Ce site est inaccessible » / ERR_CONNECTION_REFUSED sur localhost : serveur lancé, bon port, IPv6 vs IPv4, fichier hosts et pare-feu. Checklist pas à pas.

É

Équipe Locahl

Outils développeurs

6 min de lecture
mkcertHTTPSSSL

Corriger mkcert NET::ERR_CERT_AUTHORITY_INVALID

Corrigez NET::ERR_CERT_AUTHORITY_INVALID avec mkcert sur Mac : CA locale, certificat, domaine exact, Chrome, Firefox et hosts.

É

Équipe Locahl

Outils développeurs

9 min de lecture
fichier hostsdépannagemacOS

Fichier hosts Mac ne fonctionne pas : solutions

Vos modifications hosts ne prennent pas effet sur Mac ? Vérifiez cache DNS, permissions, syntaxe, navigateurs et proxies.

L

Locahl Team