2009-03-07 6 views
3

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, il me donne une erreur 404. Je peux parcourir le site en tant qu'hôte local. Cela ressemble à un problème de DNS, mais je ne sais pas comment le réparer.Impossible de parcourir un site Web hébergé chez moi sur la machine locale

+0

Êtes-vous derrière un périphérique NAT de quelque sorte? –

+0

J'ai un modem DSL standard à la maison pour me connecter à Internet. – fARcRY

Répondre

6

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

Si les cales ci-dessus vrai, il y a quatre solutions possibles:

  1. Regardez la configuration de votre routeur et essayer de trouver quelque chose qui ressemble à « rebouclage NAT », « rebouclage ext-int » ou similaires. Cela demandera au routeur de gérer les paquets provenant de l'interface interne et destinés à l'adresse IP externe, tout comme il traiterait les paquets venant de l'interface externe, bouclant correctement le trafic. Cela déclenchera la redirection de port et votre site fonctionnera. Tous les routeurs n'ont pas cette option, mais si c'est le cas, c'est la solution la plus robuste. Si le vôtre ne fonctionne pas, vous pouvez également essayer de changer son firmware pour l'un des libres là-bas qui supporte votre routeur (Tomate, OpenWRT, DD-WRT, etc.) J'ai utilisé Tomato avec succès pour de tels scénarios.

  2. Utilisez l'adresse IP interne lorsque vous êtes derrière le routeur et celle externe lorsque vous êtes à l'extérieur. Ajoutez le nom DNS que vous utilisez à votre propre fichier hosts en le faisant correspondre à l'adresse IP interne. Cela permettra (3) automatiquement d'accéder au nom de votre propre hôte. Vous devrez répéter ceci pour chaque hôte derrière votre routeur. Exécutez votre propre serveur DNS derrière le routeur, faites-lui valoir l'autorité sur votre enregistrement DNS et résolvez-le vers l'adresse IP interne, tout en transmettant les autres requêtes DNS à votre serveur de noms réel.

3

L'adresse IP visible en externe vers laquelle vous avez vraisemblablement pointé votre domaine est en réalité l'adresse IP de votre routeur ou modem câble. Les connexions externes seront routées vers la machine avec IIS activé, mais lorsque vous vous connecterez à l'intérieur du réseau, vous obtiendrez le propre serveur Web du routeur avec son interface d'administration. Il est peu probable qu'une page corresponde à l'URL que vous avez demandée, donc vous obtiendrez un 404.

Vous devriez pouvoir le réparer en ajoutant une entrée aux fichiers hosts de vos machines domestiques pour mapper votre domaine à l'interne IP de la machine avec IIS activé, remplaçant l'adresse IP externe dans l'entrée DNS.

Questions connexes