Question

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

j'ai trouvé cette Post qui a commencé 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 de l'IP des machines, mais comment obtenir cette adresse IP correcte? Regardez mon administrateur de routeur Lynsys?

Si je devais obtenir mon IP, je suis sûr que le serveur de développement ASP.NET n'autorise pas les connexions distantes. Comment puis-je lui permettre de le faire?

Était-ce utile?

La solution

Je fais quelques suppositions sur votre configuration ici, alors gardez avec:

Si votre machine virtuelle est XP Professional, Vista Business, Windows 7 Professional ou mieux, vous devriez pouvoir exécuter IIS localement sur la machine de développement et accéder à ce serveur Web à partir d'une autre machine qui se trouve sur le même réseau via le nom de la machine virtuelle.

De même, si vous faites du développement sur une vraie machine et que vous souhaitez utiliser différentes machines virtuelles pour accéder à l'application Web, vous devez vous assurer que vous avez installé IIS, créez un nouveau site Web dans IIS et vous devriez être à la recherche de la Application Web via le nom de la machine à partir de vos machines virtuelles.

Quoi qu'il en soit, n'essayez pas d'utiliser le serveur Web intégré de Visual Studio, publiez simplement votre site sur IIS et travaillez avec lui de cette façon.

Bonne chance et j'espère que cela aide certains.

Autres conseils

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

De l'article MSDN "Serveurs Web dans Visual Web Developer":

Il est spécifiquement conçu pour servir ou exécuter des pages Web ASP.NET dans le scénario hôte local (naviguer à partir du 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 l'application.

(*) Vous devrez exécuter votre site à partir de vos IIS installés localement ... ou faire le bon piratage en utilisant un logiciel gratuit décrit dans cet article de blog:

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

Utilisation Port SPI vers l'avant Pour accepter les connexions de l'appareil, faites ce qui suit:

Définissez le "port local" sur le numéro de port sur lequel l'appareil se connectera, j'utilise généralement 8080 hors d'habitude
Définissez "Host à distance" sur localhost
Définissez "Port distant" sur le port ASP.NET Dev Server

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

(Remarque: assurez-vous que vous avez démarré le programme avec les droits d'administration)

Configurer un portforwarding à l'aide de Rinetd
Deatils ici: http://blog.waynehartman.com/articles/218.aspx

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 la machine virtuelle client pour utiliser le proxy, puis utilisez simplement localhost: dev_port comme d'habitude sur le client.

Toutes les demandes du client ont obtenu le proxy sur votre machine de développement qui se déroule vers LocalHost sur la machine de développement et le serveur de développement ASP.NET pense que la demande provient de votre machine de développement!

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

1. Première étape

Vous devez télécharger Violoneux.

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

Va dans Outils-> Option Fiddler-> onglet de connexion-> Et cochez "Autoriser les ordinateurs distants à se connecter" :

enter image description here

Redémarrez Fiddler.

2. Deuxième étape

Après cela, dans L'autre PC sur le réseau ou la machine virtuelle, Ouvrez Internet Explorer-> Options Internet-> Onglet Connexion-> Paramètres LAN-> Vérifiez "Utilisez un serveur proxy pour votre LAN" :

enter image description here

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

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

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

  • N'oubliez pas le point supplémentaire après "localhost"! (Écraser le hôte local local)
  • 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.:888
  • J'ai peut-être oublié de souligner certaines configurations, mais cela dépend toujours de l'infrastructure réseau.

Solution de travail pour Linux

Cela devrait fonctionner si vous exécutez un serveur de développement ASP.NET sur Windows dans une machine virtuelle ou sur un autre hôte et que vous souhaitez y accéder depuis Linux

Sur la machine Windows

Pour une raison quelconque, vous ne pouvez pas vous connecter directement au port ASP.NET Dev Server, vous devez d'abord le procurer localement:

Utilisation Port SPI vers l'avant Pour accepter les connexions de l'appareil, faites ce qui suit:

Définissez "Port local" sur le numéro de port sur lequel l'appareil se connectera, tel que 8089 Définir "Host à distance" sur localhost
Définissez "Port distant" sur le port ASP.NET Dev Server

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

(Remarque: assurez-vous que vous avez démarré le programme avec les droits d'administration)

Sur la machine Linux

Transférer localement le port local 8089 à la Windows IP (remplacer GUEST_IP_HERE avec la bonne propriété intellectuelle):

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 de développement recherche spécifiquement localhost dans la demande et ne répondra pas à http://GUEST_IP_HERE:8089 de l'hôte

Ouvrir une invite de commande et type; "ipconfig" Cela vous donnera l'adresse IP de votre machines.

Si vous désactivez votre pare-feu (pour le port ASP.NET au moins), vous devriez pouvoir taper dans le navigateur du PC virtuel http://192.168.1.3:3243/default.aspx

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