Impossible de parcourir un site Web hébergé à la maison sur un ordinateur local

StackOverflow https://stackoverflow.com/questions/621728

  •  05-07-2019
  •  | 
  •  

Question

J'ai un site Web ASP.NET hébergé chez moi sur IIS. En dehors de mon réseau domestique, je peux voir le site Web, mais à l'intérieur du réseau, cela me donne une erreur 404. Je peux naviguer sur le site en tant que localhost. Cela ressemble à un problème de DNS, mais je ne sais pas comment le résoudre.

Était-ce utile?

La solution

C'est presque certainement un problème de NAT. Je suppose que votre serveur Web se trouve derrière un routeur NAT et que vous avez transféré un port (probablement 80) de l'interface externe du routeur sur le port 80 de votre serveur. Je suppose également que vous essayez d'accéder à votre site Web en utilisant un nom correspondant à votre adresse IP externe (probablement un nom DNS dynamique) ou en essayant d'y accéder directement à l'aide de cette adresse IP externe. Cela ne fonctionnera probablement pas immédiatement, car la plupart des routeurs NAT ne rendront le mappage de port disponible que pour les paquets entrant sur l'interface externe du routeur.

Si ce qui précède est vrai, vous avez le choix entre quatre solutions:

  1. Regardez la configuration de votre routeur et essayez de trouver quelque chose qui ressemble à "Bouclage NAT", "Bouclage Ext-int". ou semblable. Cela ordonnera au routeur de gérer les paquets provenant de l’interface interne et destinés à l’adresse IP externe de la même manière qu’il traiterait les paquets provenant de l’interface externe, en procédant à un bouclage correct du trafic. Cela déclenchera la redirection de port et votre site fonctionnera. Tous les routeurs ne disposent pas de cette option, mais si vous en disposiez, ce serait la solution la plus robuste. Si le vôtre ne le fait pas, vous pouvez également essayer de remplacer son micrologiciel par l'un de ceux qui prennent en charge votre routeur (Tomato, OpenWRT, DD-WRT, etc.). J'ai utilisé Tomate avec succès pour de tels scénarios.

  2. Utilisez l'adresse IP interne lorsque vous êtes derrière le routeur et l'adresse externe à l'extérieur.

  3. Ajoutez le nom DNS que vous utilisez à votre propre fichier hosts en le faisant correspondre à l'adresse IP interne. Cela se réalisera (3) automatiquement lorsque vous accéderez au nom à partir de votre propre hôte. Vous devrez répéter cette opération pour chaque hôte situé derrière votre routeur.

  4. Lancez votre propre serveur DNS derrière le routeur, demandez-lui l'autorité sur votre enregistrement DNS et résolvez-le en adresse IP interne, tout en transférant les autres requêtes DNS vers votre serveur de noms actuel.

Autres conseils

L'adresse IP visible de l'extérieur sur laquelle vous avez probablement indiqué votre domaine est réellement l'adresse IP de votre routeur ou de votre modem câble. Les connexions externes seront acheminées vers la machine avec IIS activé, mais lorsque vous vous connecterez depuis le réseau, vous obtiendrez le serveur Web du routeur avec son interface d'administration. Il est peu probable qu'une page corresponde à l'URL demandée. Vous obtiendrez donc un 404.

Vous devriez pouvoir y remédier en ajoutant une entrée aux fichiers hôtes de vos machines domestiques pour mapper votre domaine à l'IP interne de la machine avec IIS activé, en remplaçant l'IP externe dans l'entrée DNS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top