web-dev-qa-db-fra.com

Accéder au serveur de développement ASP.NET à partir d'un autre PC sur le réseau

Je voudrais tester mon application Web dans d'autres navigateurs. J'ai installé Virtual PC pour faire juste ça. Le serveur de développement ASP.NET n'autorise pas les connexions distantes afin que le PC virtuel (un autre ordinateur du réseau) ne puisse pas accéder au site Web.

J'ai trouvé this poste qui a été démarré mais il n'y avait pas de solution.

Je comprends que l'utilisation de Localhost ne fonctionnera pas. J'ai entendu parler de l'utilisation des machines IP, mais comment puis-je obtenir cette adresse IP correcte? Regardez mon administrateur de routeur Lynksys?

Si je devais obtenir aussi loin que mon IP, je suis sûr que le serveur ASP.NET DEV n'autorise pas les connexions à distance. Comment cela dois-je le faire?

25
Paul Knopf

La réponse est: no (*). Vous ne pouvez pas accéder au serveur ASP.NET Development sur une machine d'une autre, même si vous ouvrez le pare-feu Windows TCP Port.

À partir de l'article MSDN "Serveurs Web dans Visual Web Developer " :

Il est spécifiquement conçu pour servir, exécuter des pages Web ASP.NET sous le scénario d'hôte local (parcourir le même ordinateur que le serveur Web).

En d'autres termes, le serveur de développement ASP.NET servira des pages aux demandes de navigateur sur l'ordinateur local. Il ne servira pas de pages à un autre ordinateur. De plus, il ne servira pas de fichiers en dehors de la portée de la demande.

(*) Vous devrez exécuter votre site à partir de votre IIS installé localement ... ou faites le bon piratage en utilisant du logiciel gratuit décrit dans ce blog post:

iPhone accédant au serveur de développement Visual Studio ASP.NET

Utilisez Port SPI en avant Pour accepter les connexions de périphérique, procédez comme suit:

Définissez "Port local" sur le numéro de port L'appareil se connectera, j'utilise habituellement 8080 hors d'habitude.
[.____] Définir "hôte distant" sur localhost
[.____] Définir "Port distant" sur le port de serveur ASP.NET DEV

Cliquez sur le bouton "Activer" pour commencer à accepter les connexions.

(REMARQUE: Assurez-vous que vous avez démarré le programme avec les droits d'administrateur)

32
splattne

Configurez un porteur de ports à l'aide de rinetd
Démiliers ici: http://blog.waynehartman.com/articles/218.aspx

8
Fabrizio Accatino

Une autre réponse si vous ne voulez pas utiliser IIS (ou tunnels): https://stackoverflow.com/a/12008223/1552178

Utilisez Fiddler ou similaire sur votre hôte - Définissez votre navigateur sur le client VM pour utiliser le proxy, il suffit d'utiliser localhost: dev_port comme d'habitude sur le client.

Toutes les demandes du client goto Le proxy sur votre machine Dev Dev, itinéraires vers localhost sur la machine DEV et le serveur ASP.NET DEV pense que la demande provient de votre machine de développement!

7
deive

Je réponds à cette vieille question pour aider les gens à le faire fonctionner sans IIS .

1. Première étape

Vous devez télécharger Fiddler .

Une fois que Fiddler est téléchargé et installé, ouvrez-le.

Aller in Outils-> Fiddler Option-> onglet Connexion-> et vérifier "Autoriser les ordinateurs distants de se connecter" :=:

enter image description here

Redémarrez le violon.

2. Deuxième étape

Après cela, dans l'autre PC sur le réseau OR Le VM , Ouvrez Internet Explorer-> Options Internet-> onglet Connexion-> Réglages LAN-> Vérifiez "Utiliser un serveur proxy pour votre réseau local":

enter image description here

  1. L'adresse est l'adresse IP de votre machine de développement.
  2. Et mettre le port 8888

Maintenant, vous pouvez accéder au serveur Web ASP.NET à partir d'un autre PC du réseau (peut-être que vous avez, plus de configuration à faire, comme le pare-feu, le port sans restriction, etc., mais c'est un bon départ)!

Pour y accéder -> http://localhost.:54814

  • N'oubliez pas le point supplémentaire après "localhost"! (Écrase le localhost localphost)
  • Le port, "54814" dans mon cas, est le port de serveur Web ASP.NET.

Remarque:

  • Pour tester si le proxy fonctionne, vous pouvez essayer ceci: http://localhost.:8888
  • J'ai peut-être oublié de signaler certaines configurations, mais cela dépendent toujours de l'infrastructure de réseau.
4
Vinc 웃

Solution de travail pour Linux

Cela devrait fonctionner si vous exécutez un serveur ASP.NET DEV sous Windows dans A VM ou sur un autre hôte et vous souhaitez y accéder à partir de Linux.

Sur la machine Windows

Pour une raison quelconque, vous ne pouvez pas vous connecter directement au port de serveur ASP.NET DEV, vous devez le proxy localement:

Utilisez Port SPI en avant Pour accepter les connexions de périphérique, procédez comme suit:

Définissez "Port local" sur le numéro de port Le périphérique se connectera, tel que 8089, définissez "Hôte distant" sur localhost
[.____] Définir "Port distant" sur le port de serveur ASP.NET DEV

Cliquez sur le bouton "Activer" pour commencer à accepter les connexions.

(Remarque: Assurez-vous que vous avez démarré le programme avec les droits de l'administrateur)

Sur la machine Linux

Port localhost local à terme local 8089 à l'adresse IP Windows (remplacer GUEST_IP_HERE avec la bonne adresse IP):

iptables -t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp --dport 8089 -j DNAT --to-destination GUEST_IP_HERE:8089
iptables -t nat -A POSTROUTING -m addrtype --src-type LOCAL --dst-type UNICAST -j MASQUERADE

Ceci est nécessaire car le serveur DEV cherche spécifiquement localhost dans la demande et ne répondra pas à http://GUEST_IP_HERE:8089 de l'hôte

1
William Casarin