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
Sommaire
**Le moyen le plus rapide d’utiliser des sous-domaines sur localhost : utilisez tout simplement *.localhost.** Les navigateurs modernes résolvent tout app.localhost, api.localhost ou tenant1.localhost vers 127.0.0.1 automatiquement, sans aucune configuration. Quand vous avez besoin d’un domaine personnalisé, du HTTPS ou d’un routage vers différents ports, mappez des sous-domaines fixes dans le fichier hosts, ou utilisez dnsmasq pour les wildcards. Voici les trois approches et quand choisir chacune.
Option 1 — Sous-domaines *.localhost gratuits (sans config)
Selon le RFC 6761, localhost et tout ce qui en dépend est réservé au bouclage. Chrome, Edge et Firefox résolvent tout nom *.localhost vers 127.0.0.1 sans édition hosts ni config DNS :
http://app.localhost:3000
http://api.localhost:3000
http://tenant-acme.localhost:3000Idéal pour les applis multi-tenant ou routées par sous-domaine : votre serveur lit l’en-tête Host et sert le bon tenant, tandis que chaque sous-domaine pointe vers le même serveur local. Aucun droit admin, rien à nettoyer ensuite. Pour comprendre le nom sous-jacent, voir qu’est-ce que localhost ?.
Limites :
- Cela résout toujours vers
127.0.0.1— impossible de pointer un sous-domaine vers une autre IP ainsi. - Certains outils/runtimes anciens n’honorent pas
*.localhost; si un client hors navigateur échoue, repliez sur l’Option 2.
Option 2 — Sous-domaines fixes via le fichier hosts
Quand vous voulez un TLD personnalisé (ex. .test) ou que le nom doit résoudre hors navigateur, listez chaque sous-domaine dans le fichier hosts :
127.0.0.1 monprojet.test
127.0.0.1 app.monprojet.test
127.0.0.1 api.monprojet.test
127.0.0.1 admin.monprojet.testVous pouvez aussi grouper des noms sur une ligne : 127.0.0.1 app.monprojet.test api.monprojet.test. Le fichier hosts ne reconnaît que les noms exacts — pas de motif — donc ajoutez une ligne par sous-domaine. Voir comment modifier le fichier hosts et le guide de syntaxe du fichier hosts. Préférez .test à .local (qui entre en conflit avec mDNS/Bonjour) : quel TLD utiliser pour le développement local.
Après édition, videz le DNS pour que les nouveaux noms résolvent tout de suite (ex. ipconfig /flushdns sous Windows, ou l’équivalent macOS/Linux).
Option 3 — Sous-domaines wildcard avec dnsmasq
Si les sous-domaines sont dynamiques ou trop nombreux à lister (tenant-1, tenant-2… ou générés par PR), le fichier hosts est le mauvais outil. Utilisez dnsmasq pour résoudre un domaine et tous ses sous-domaines avec une seule règle :
# macOS (Homebrew)
brew install dnsmasq
echo 'address=/monapp.test/127.0.0.1' >> $(brew --prefix)/etc/dnsmasq.conf
sudo brew services start dnsmasq
sudo mkdir -p /etc/resolver
echo 'nameserver 127.0.0.1' | sudo tee /etc/resolver/testDésormais nimporte.monapp.test résout vers 127.0.0.1 sans toucher au fichier hosts. Étapes Linux complètes et vérification : domaines locaux wildcard avec dnsmasq.
Quelle approche choisir ?
- Beaucoup de sous-domaines sur 127.0.0.1, dans le navigateur ?
*.localhost(Option 1). - Quelques sous-domaines fixes, TLD personnalisé, ou clients hors navigateur ? Fichier hosts (Option 2).
- **Sous-domaines dynamiques/illimités, ou HTTPS pour
*.monapp.test?** dnsmasq (Option 3), avec un certificat mkcert wildcard.
Router les sous-domaines vers différents ports
Le DNS mappe un nom vers une IP, pas vers un port. Pour servir app.monprojet.test et api.monprojet.test depuis des backends différents sur une seule machine, placez un reverse proxy (Caddy, nginx, Traefik) devant, sur le port 80/443, qui route selon l’en-tête Host vers le port de chaque appli. Tous les sous-domaines résolvent vers 127.0.0.1 ; le proxy fait le reste.
Pièges fréquents
- Le sous-domaine refuse la connexion : le nom a résolu mais le serveur n’écoute pas ou n’accepte pas cet hôte. Vérifiez le port et les hôtes autorisés du serveur de dev — voir localhost n’autorise pas la connexion.
- Avertissement HTTPS sur un sous-domaine : le certificat doit le couvrir ; générez
mkcert monprojet.test "*.monprojet.test". - Ancienne IP après changements : videz le DNS et le cache hôte du navigateur.
Pour les mappings fixes du quotidien, Locahl gère les entrées hosts avec des bascules sûres par projet et un flush DNS automatique, pour des sous-domaines bien rangés ; vous ne sortez dnsmasq que pour de vrais wildcards.
_Dernier test : juin 2026 sur Windows 11, macOS 26 Tahoe et Ubuntu 24.04._
Sources et ressources externes
- RFC 6761 — Special-Use Domain Names (IETF)
- Documentation dnsmasq
- Le fichier hosts expliqué (Wikipédia)
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
Avis des lecteurs
"Je ne savais pas que app.localhost fonctionne tel quel dans Chrome sans config. Test multi-tenant immédiat."
21 juin 2026
"Le choix hosts vs dnsmasq rendait évident l’approche qu’il me fallait. Le wildcard avec dnsmasq était parfait."
20 juin 2026
"Clair et pratique. Un exemple de routage de ports par reverse-proxy serait un bonus."
19 juin 2026
Questions fréquentes
Les sous-domaines de localhost fonctionnent-ils automatiquement ?
Oui, pour *.localhost. Les navigateurs modernes (Chrome, Edge, Firefox) résolvent tout nom *.localhost comme app.localhost ou api.localhost vers 127.0.0.1 sans configuration, conformément au RFC 6761.
Comment ajouter un sous-domaine fixe sur localhost ?
Mappez-le dans le fichier hosts : 127.0.0.1 app.monprojet.test. Listez chaque sous-domaine sur son propre nom ; le fichier hosts ne reconnaît que les noms exacts.
Comment obtenir des sous-domaines wildcard comme *.monapp.test en local ?
Le fichier hosts ne gère pas les wildcards. Utilisez dnsmasq avec une règle comme address=/monapp.test/127.0.0.1, qui résout monapp.test et tous ses sous-domaines vers 127.0.0.1.
Faut-il utiliser .localhost ou .test pour les sous-domaines ?
Utilisez *.localhost pour zéro configuration quand 127.0.0.1 suffit. Utilisez .test (avec le fichier hosts ou dnsmasq) si vous avez besoin d’un domaine personnalisé, de certificats HTTPS, ou d’un routage vers différents ports.
Pourquoi mon sous-domaine localhost refuse la connexion ?
Le nom a résolu mais aucun serveur ne répond sur ce port, ou le serveur n’accepte pas ce nom d’hôte. Vérifiez le port et les hôtes autorisés du serveur de dev — voir le guide « localhost n’autorise pas la connexion ».
Articles similaires
Domaines locaux wildcard : limites du fichier hosts & dnsmasq
Le fichier hosts ne gère pas les wildcards comme *.monappli.test. Découvrez pourquoi, et comment configurer des domaines locaux wildcard avec dnsmasq sur macOS et Linux.
Équipe Locahl
Outils développeurs
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
Modifier le fichier hosts sans droits admin : est-ce possible ?
Peut-on modifier le fichier hosts sans droits administrateur ? La réponse honnête et les vraies alternatives sous Windows, Mac et Linux quand on ne peut pas élever (proxy, Docker, DNS local, SSH).
Équipe Locahl
Outils développeurs
127.0.0.1 vs localhost : quelle différence ?
127.0.0.1 vs localhost expliqué : les deux pointent vers votre machine, mais diffèrent en résolution DNS, IPv6 et fichier hosts. Quand utiliser chacun, exemples.
Équipe Locahl
Outils développeurs
Meilleurs éditeurs de fichier hosts pour Windows (2026)
Les meilleurs éditeurs de fichier hosts pour Windows en 2026 : Locahl, Notepad en admin, Hosts File Editor+, SwitchHosts et BlueLife Hosts Editor. Avantages et usages.
Équipe Locahl
Outils développeurs