236 votes

Dans mon fichier /etc/hosts/ sous Linux/OSX, comment faire un sous-domaine joker ?

J'ai besoin de tester des sous-domaines sur mon hôte local. Comment puis-je obtenir efficacement ce résultat en ajoutant *.localhost.com à mon /etc/hosts/ fichier ?

Si ce n'est pas possible, comment puis-je contourner ce problème ? Je dois tester des sous-domaines joker sur mon serveur local. Il s'agit d'un serveur de développement Django. Le serveur de développement Django peut-il gérer les sous-domaines ? Un autre logiciel/routeur peut-il me donner le résultat final que je souhaite ?

1 votes

Appartient au superutilisateur ?

0 votes

Je sais que les gens disent que ce n'est pas possible ! Mais comment le faire quand même ! Quelle est la chose en dehors de /etc/hosts/ que je peux utiliser pour obtenir cet effet. Je teste un serveur de développement.

1 votes

Sur le super-utilisateur : unix.stackexchange.com/questions/3352/

193voto

tomchuk Points 1941

Installer dnsmasq (Je fais cela sur tous mes ordinateurs de bureau Linux comme un cache DNS de toute façon). Dans dnsmasq.conf ajouter la ligne :

address=/localhost.com/127.0.0.1

2 votes

Fyi brew > port (re @MattHumphrey suggestion)

1 votes

Cet exemple ne marche pas pour moi, peut-être parce que j'utilise vagrantup.com pour le service local. Ne vous inquiétez pas, j'ai déjà changé l'IP pour la bonne. 192.168.50.11 mais le DNS ne résout pas. Avez-vous une idée ? Cet exemple est-il correct pour les adresses IP "non-127.0.0.1" ?

0 votes

J'aime le fait qu'il soit livré avec la règle /double-click.net/127.0.0.1 commenté... ce qui est exactement la raison pour laquelle j'ai cherché cette question.

89voto

ar. Points 1064

Il n'est pas possible de spécifier des caractères génériques dans le champ /etc/hosts fichier. Vous pouvez soit spécifier explicitement les noms d'hôtes requis, soit configurer un serveur de noms local avec les règles appropriées.

52voto

marlonyao Points 616

J'ai écrit un proxy DNS en Python. Il lira les entrées joker dans /etc/hosts. Voir ici : https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py

0 votes

C'est parfait ! Je cherchais une solution simple comme celle-ci depuis longtemps (je travaille sous OSX Mavericks).

2 votes

Maintenant, si nous pouvions juste pip install le :)

1 votes

Je l'ai installé, j'ai tout fait et je l'ai exécuté, mais il ne bloque pas les sites.

18voto

Gerald Combs Points 6281

Vous devez configurer un serveur DNS et avoir chaque client l'utiliser pour la résolution. Le serveur lui-même peut être quelque chose d'aussi "léger" que dnsmasq ou aussi lourd que BIND .

0 votes

+1 pour dnsmasq, qui est vraiment bien documenté et facile à utiliser

0 votes

Dnsmasq n'est pas en mesure de le faire.

0 votes

Quelle partie du comportement décrit dans le --address= de la page de manuel dnsmasq.conf ne couvre pas le cas d'utilisation décrit ci-dessus ?

16voto

Bijan Points 101

Flux de travail simple (pas besoin d'installer quoi que ce soit)

Personnellement, j'aime créer un fichier PAC pour cela et faire en sorte que mon navigateur l'utilise simplement.

Étape 1 : créer un fichier, par exemple : *.proxy.pac* quelque part (j'utilise mon $home dossier)

Étape 2 : collez ce code (l'exemple est avec le port 8000) :

function FindProxyForURL(url, host) {
  if (shExpMatch(host, "*localhost")) {
    return "PROXY localhost:8000";
  }
  return "DIRECT";
}

Paso 3 : Faites en sorte que votre navigateur utilise ce fichier PAC.

Vidéo Youtube pour PAC et Firefox

Paso 4 : Vous pouvez maintenant tester votre application en accédant à : http://mysubdomain.localhost/

Étape 5 : Profitez-en :)

7 votes

Il est peut-être utile de préciser que cela n'affectera que votre navigateur. D'autres programmes (comme wget ne sera pas affecté par cette mesure). Cela ne constitue pas un problème en soi, mais il est peut-être préférable de le mentionner.

0 votes

Si vous suivez la voie .pac et que vous implémentez un serveur node.js, vous serez surpris de voir que req.url est maintenant une URL absolue. Ceci est fait parce que l'hypothèse est que vous voulez écrire un serveur proxy réel, mais c'est surprenant si vous êtes venu à cette technique juste comme un moyen d'arrêter d'ajouter des entrées /etc/hosts pour le débogage. Pour info à ceux qui pourraient suivre la même voie que moi.

0 votes

Comment puis-je appliquer cela au navigateur Google Chrome/mium et Brave également ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X