web-dev-qa-db-fra.com

Affichage de mon IIS site hébergé sur d'autres ordinateurs de mon réseau)

À la maison, j'ai une configuration réseau simple contenant 2 machines.

Sur un ordinateur, j'ai un site hébergé avec IIS7. Plutôt que l'adresse standard localhost/index.htm, J'ai ajouté une entrée dans le fichier HOSTS indiquant l'adresse IP locale (127.0.0.1) de ce domaine - www.mysite.dev.

Je peux accéder au site avec www.mysite.dev Sans problème.

ce que j'aimerais faire, c'est pouvoir voir ce site depuis mon autre ordinateur sur le réseau.

Au départ, je pensais que cela pourrait être fait avec une URL telle que MACHINE-NAME/www.mysite.dev, Mais la connexion expirait toujours. Mais je peux cingler MACHINE-NAME Sans problèmes.

À des fins de test, j'ai désactivé le pare-feu Windows sur les deux machines, mais sans plaisir.

Comme un développeur web typique, mes compétences en matière de matériel et de réseau sont plutôt médiocres.

Quelqu'un peut-il voir où je vais mal?

95
Truegilly

Comme d'autres l'ont dit, votre pare-feu doit être configuré pour accepter les appels entrants sur le port TCP 80 .

en gagner 7+ (moyen de magie facile)

  1. aller au pare-feu Windows avec sécurité avancée
  2. Règles entrantes -> Action -> Nouvelle règle
  3. sélectionnez bouton d'option prédéfini , puis sélectionnez le dernier élément - Services World Wide Web (HTTP)
  4. cliquez sur Suivant et laissez les étapes suivantes telles qu'elles sont ( autorisez la connexion)

  • Parce que le trafic sortant (du serveur au monde extérieur) est autorisé par défaut .it signifie par exemple les réponses http envoyées par le serveur Web retour aux utilisateurs et demandes extérieurs

  • Mais le trafic entrant (en provenance du monde extérieur sur le serveur) est bloqué par défaut comme les requêtes Web de l'utilisateur provenant de leur navigateur qui ne peut pas atteindre le serveur Web par défaut et vous devez l'ouvrir.

Vous pouvez également examiner de plus près les règles entrantes et sortantes à l’adresse cette page

149
Iman Abidi

Si vous hébergez un site Web sur un port spécifique dans IIS comme 4321 , vous devez autoriser ce port Par le pare-feu Windows également. Voici les étapes que j’ai suivies avec réponse d’imanabidi pour que cela fonctionne pour moi:

  1. Pare-feu Windows> Paramètres avancés
  2. Règles entrantes> Nouvelle règle
  3. Sélectionnez le port> Suivant
  4. Ports locaux spécifiques> Ajoutez le port que vous souhaitez autoriser
  5. Autoriser toutes les connexions
  6. Entrez un nom et une description pour pouvoir vous en souvenir plus tard
  7. Fait
31
Syed Ali Taqi

Tout d’abord, essayez de vous connecter à l’IP LAN de votre serveur. Si IIS est configuré avec un seul site Web, il y a de fortes chances que votre site apparaisse.

Si vous souhaitez y accéder par nom, vous devez ajouter une entrée dans le fichier HOSTS de chaque ordinateur client sur lequel vous souhaitez afficher le site (pas à 127.0.0.1 évidemment, mais à l'adresse IP locale de votre serveur).

De plus, votre pare-feu doit être configuré pour accepter les appels entrants sur le port 80.

C’est généralement le moment où il est plus logique de configurer un service DNS sur lequel vous pouvez enregistrer des noms tels que "mysite.dev" de manière centralisée, sans avoir à manipuler des fichiers hôtes. Mais c'est une autre histoire, et appartient à superuser.com ou serverfault.com.

9
Pekka 웃

Ouvrez les paramètres du pare-feu. Ensuite, recherchez quelque chose comme: - Autoriser un programme ou une fonctionnalité à autoriser à traverser le pare-feu. Si la liste des services World Wide Web (HTTP) n'est pas cochée, cochez-la et redémarrez le système.

Notre machine est prête à accepter les demandes entrantes.

6
Harika Kakkireni

Réponse très tardive, mais je vais souligner un point, car j’ai dû le gérer il ya des années pour installer mon site IIS sur le réseau

  1. Vos deux machines doivent être connectées au même réseau (le même réseau sans fil convient)
  2. Accédez à votre ordinateur distant via IP 168.192.x.x ou via http://his-pc-name _ (ne pas oublier la partie http)
  3. Ceci servira de serveur la page par défaut IIS sur la machine distante (identique à celle servie par localhost). Si vous voulez servir un autre site, vous devez d'abord définir cette valeur par défaut 1 .

Assurez-vous que votre IIS fonctionne correctement sur une machine distante en vérifiant localhost qui devrait desservir le site par défaut. Assurez-vous également que votre pare-feu est configuré pour autoriser la connexion via le port 80 ou vous pouvez le faire. il suffit de désactiver le pare-feu pour le moment à des fins de test.

3
Hammad Khan

Il se peut que ce soit tard, mais pour toute autre personne susceptible de rencontrer un tel problème à l’avenir, pour les connexions que vous souhaitez établir avec le serveur (dans ce cas, la machine qui héberge l’application Web, qu’il s’agisse de iis ou de xampp) nécessité d'autoriser la connexion ou le trafic via le port spécifique qui sera utilisé dans le pare-feu

1. Go to Windows Firewall -> Advanced settings
2. Click Inbound Rules -> Then New Rule
3. Select Port -> Next
4. Specific local ports -> Add the Port you want to allow
5. Allow All Connections
6. Enter a name and a description for to help you remember later on

et vous avez fait

2
Antoh
 Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab". 

Cela a fonctionné pour moi

2
Santhosh Legent

Après l’installation de l’antivirus, j’ai fait face à ce problème et j’ai remarqué que mon pare-feu était automatiquement activé. Maintenant, je viens d’activer pare-feu désactivé et le problème a été résolu. J'espère que ça va aider quelqu'un :)

1
Bhavin Chauhan

En plus de modifier votre pare-feu, n'oubliez pas d'ajouter une liaison de port!

Ouvrez $(SolutionDir)\.vs\config\applicationHost.config et recherchez des définitions de liaison, devrait ressembler à ceci

<sites>
    <site name="Samples.Html5.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Git\Samples.Html5.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:63000:localhost" />
        </bindings>
    </site>
    ...
</sites>

Ajoutez simplement des lignes supplémentaires pour refléter l'IP de votre machine et le port désigné

<bindings>
    <binding protocol="http" bindingInformation="*:63000:localhost" />
    <binding protocol="http" bindingInformation="*:63000:10.0.0.201" />
</bindings>

Source: https://blog.falafel.com/expose-iis-express-site-local-network/

1
Korayem

127.0.0.1 pointe toujours sur localhost. Sur votre réseau domestique, vous devez avoir une adresse IP attribuée par votre routeur Internet (dsl/cablemodem/peu importe). Vous devez lier votre site Web à cette adresse. Vous devriez alors pouvoir utiliser le nom de l'ordinateur pour accéder au site Web, mais je vous conseillerais plutôt de modifier le fichier hosts de l'ordinateur client en question pour pointer un nom spécifique sur cet ordinateur. Le fichier hosts se trouve sur c:\windows\system32\drivers\etc\hosts (utilisez le bloc-notes) et l'entrée ressemblerait à ceci:

192.168.1.1     mycomputername
0
Joel Etherton