Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-01-2015 04:12:34

Patriboom
Membre
Lieu : Arctique canadien
Distrib. : Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : MATE
Inscription : 25-12-2008
Site Web

[Résolu] Alias locaux

Bonne année,

Pour une fois, je n'ai pas de question "comment".  Je viens avec une question "pourquoi".

J'ai configuré mon système de façon à ce qu'il réponde à des "noms de domaine" locaux, des alias à localhost, lui-même alias à 127.0.0.1
J'ai trimé du pour trouver la solution, mais je ne comprends pas encore pourquoi est-ce ainsi que ça fonctionne.
Voici, j'ai épeluché passablement de documentation et visité des sites pédagogiques (tutoriaux), mais aucun ne parle du fichier /etc/hosts

Tous les documents que j'ai consultés me disent de créer des fichiers de configuration dans /etc/apache2/sites-available et d'y référer par liens symboliques dans sites-enable
Très bien.  J'ai fait tout cela sans succès.

Lorsque je suis allé dans /etc/hosts  - car je me rappelais avoir joué là-dedans, j'ai dû ajouter mes alias à côté de l'adresse caconique 127.0.0.1 sans quoi mes alias n'étaient pas reconnus.
Pourquoi?

Ai-je un fichier "/etc/hosts" superflu qui est consulté parce qu'existant?
Était-ce tellement évident que personne n'a pensé parler de ce dernier fichier?

Au début, je croyais pouvoir / devoir mettre qu'une seule adresse par ligne dans ce fichier /etc/hosts   Je me trouvais donc dans l'obligation de multiplier les adresses locales 127.0.0.1, 127.0.1.0 1270.1.1 etc
J'ai trouvé par la suite que je puis mettre plusieurs alias à une adresse local selon la forme

127.0.0.1 localhost serveur serveur.local tout.ceque.vousvoulez



Si en plus d'avoir une réponse à ma question "pourquoi", ce petit bout peut en aider un autre, tant mieux.
Merci de votre attention.

Dernière modification par Patriboom (06-01-2015 07:19:22)


Portez la paix
Patrick Allaire, ptre

Hors ligne

#2 04-01-2015 10:21:14

AigletoN
Membre
Distrib. : Debian Jessie
(G)UI : KDE
Inscription : 14-12-2014

Re : [Résolu] Alias locaux

je modifie mon hosts du pc pour acceder a mon serveur ,via l'url de mon domaine en local.
et pour lutter contre les pub aussi ou interdire des sites .
j'ajoute :

192.168.1.88 mondomaine.com www.mondomaine.com

Hors ligne

#3 04-01-2015 16:56:28

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Alias locaux

Une mise au point pour commencer : /etc/hosts concerne la résolution locale de noms d'hôtes alors que /etc/apache2/sites-enable concerne les sites gérés par apache (virtualhosts). Ce sont deux domaines qui n'ont strictement rien à voir. La résolution de noms se contrefiche des sites d'apache, et apache se contrefiche de la résolution de noms pour gérer les sites. Il n'y a que pour le bon fonctionnement dun client (navigateur web) que les deux doivent correspondre.

Voici ce que fait un navigateur pour accéder à http://site/ressource :
1) Résolution du nom d'hôte "site" pour déterminer son adresse IP.
2) Connexion TCP à cette adresse sur le port 80.
3) Envoi d'une requête HTTP pour la ressource "/ressource" sur le site "site".

On voit que pour que tout cela fonctionne, le serveur web qui répond à l'adresse IP obtenue par la résolution du nom "site" doit héberger un site nommé "site". L'adresse IP locale réelle du serveur peut être totalement différente, peu importe.

Revenons maintenant au fichier /etc/hosts.

Sa syntaxe est décrite dans sa page de manuel (man hosts). Il y est bien précisé qu'il ne doit en principe y avoir qu'une ligne par adresse IP, contenant un ou plusieurs noms d'hôtes. Le premier nom est dit "canonique" (principal), les suivants sont des alias. Une adresse IP n'est pas canonique, ça ne veut rien dire. Certains écrivent néanmoins plusieurs lignes avec la même adresse, mais le résultat n'est pas garanti.

Le fichier /etc/hosts est consulté pour la résolution de noms par les processus locaux, pour déterminer l'adresse IP associée à un nom d'hôte et vice versa. Un navigateur web tournant sur une autre machine utilise son propre fichier hosts, pas le fichier hosts du serveur. Le DNS est une alternative qui permet de centraliser la résolution de noms sur des serveurs communs plutôt que de devoir gérer les fichiers hosts de chaque machine. Si tu n'as qu'une seule machine sur laquelle tournent à la fois le client et le serveur web, alors le fichier hosts suffit.

Cela répond-il à tes interrogations ?

Hors ligne

#4 04-01-2015 17:39:35

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 4.6.0-0.bpo.1-amd64
(G)UI : gnome 3.14.1
Inscription : 21-10-2008

Re : [Résolu] Alias locaux

Bon, ben ça fait un joli tuto ce truc bien expliqué :

Le /etc/hosts bien expliqué, c'est là !

"Définition d'eric besson : S'il fallait en chier des tonnes pour devenir ministre, il aurait 2 trous du cul." - JP Douillon
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

#5 04-01-2015 22:00:24

Patriboom
Membre
Lieu : Arctique canadien
Distrib. : Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : MATE
Inscription : 25-12-2008
Site Web

Re : [Résolu] Alias locaux

Merci râleur.  Intéressante explication.

Bref, ce serait un peu nul, mais bon ... je pourrais me servir de mon fichier /etc/hosts comme d'un répertoire de signets internet qui seraient accessibles depuis tous mes navigateurs en utlisant des mots simples comme

123.456.765.432 Meteo meteo Climat #me conduirait la météo locale
321.23.23.44 Routes Enneigement #Me conduirait au site décrivant les conditions routières
12.123.14.12  FB #Me conduirait à Facebook

Intéressant.

Ce que je cherche à faire.  Je me pencherai dorénavant sur la résolution centralisée de DNS afin d'arriver à mes fins.

Une question dont la réponse sera utile dans le tuto: 
  Lorsque je modifie /etc/hosts  dois-je redémarrer quelque chose ou est-ce immédiatement appliqué?

  En référence, une modification aux fichiers /etc/apache2/sites-available demande un redémarrage du serveur apache.

Merci.

Dernière modification par Patriboom (04-01-2015 22:20:49)


Portez la paix
Patrick Allaire, ptre

Hors ligne

#6 05-01-2015 13:49:47

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Alias locaux

L'idée est séduisante, mais ça ne marchera pas.
Comme je l'ai expliqué précédemment, le navigateur se sert du nom du site demandé deux fois : une première fois pour trouver l'adresse IP du serveur web et une deuxième fois dans la requête HTTP/1.1 envoyée au serveur pour lui indiquer le site demandé (car un serveur web peut héberger plusieurs sites avec la même adresse IP). La première phase se passera bien, mais pas la seconde car le serveur ne reconnaitra pas le nom d'hôte "raccourci" que tu as défini.

En réponse à ta question, la modification du fichier hosts prend effet immédiatement, il n'y a pas besoin de relancer quoi que ce soit. Néanmoins certains navigateurs ont leur propre cache de résolution de noms, et il peut être nécessaire de vider ce cache ou relancer le navigateur pour lui faire prendre en compte un changement, mais ce n'est ps spécifique au fichier hosts, ce serait la même chose après le changement d'un enregistrement DNS.

Hors ligne

Pied de page des forums