2017-02-01 1 views
1

Je suis en train d'exécuter Windows 10 sur OS X en utilisant Parallels Desktop (le réseau est en mode SHARED). J'ai besoin d'accéder à des applications Web créées sur Visual Studio et exécutées sur IIS 10 à partir de l'hôte. Par exemple pour une application générique fonctionnant sur Windows au http://localhost:1654 je voudrais y accéder à partir du navigateur Mac avec quelque chose comme http://[ip_virtual_machine]:1654.Bureau Parallels: accéder à l'application Web IIS locale depuis OS X (hôte)

La première chose que j'ai faite a été d'éteindre complètement le pare-feu Windows, de le désactiver sur les réseaux publics et privés et aussi de désactiver le service de pare-feu dans services.msc. Ensuite, j'ai vérifié les adresses IP de l'hôte et de la machine virtuelle. En cours d'exécution ifconfig sur le Mac, je reçois que l'adresse IP de la machine virtuelle est 10.211.55.2 tout en exécutant ipconfig sur Windows, je reçois que l'adresse IP est de la VM est 10.211.55.3 (avec la passerelle 10.211.55.1).

J'ai essayé d'accéder à l'application Web en utilisant à la fois http://10.211.55.2:1654/ et http://10.211.55.3:1654/ mais sans succès. Avec le premier, j'obtiens une réponse Bad Request - Invalid Hostname, alors qu'avec le dernier, j'ai ERR_CONNECTION_REFUSED.

Dans le cas où le pare-feu faisait encore quelque chose sous le capot, j'ai également ajouté une règle entrante pour permettre les connexions pour le port 1654, mais le même résultat.

J'ai également remarqué une chose: dans le fichier applicationhost dans C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config il n'y a aucune référence à mes applications Web créées dans Visual Studio. Je sais que lorsque j'exécute une application Web dans Visual Studio sur IIS, la liaison doit être ajoutée au fichier applicationhost, mais il n'y a aucune entrée pour mes applications Web. Puis-je avoir des problèmes avec IIS?

Autre chose: l'inverse fonctionne. Je peux accéder à un serveur local node.js sur mon Mac à partir de la machine virtuelle en utilisant http://10.211.55.2:[port].

Mais j'ai besoin d'accéder à partir de Mac à Windows IIS. Comment puis je faire ça?

Répondre

1

Ok, je l'ai fonctionné. Les étapes supplémentaires sont les suivantes:

1) Ouvrez CMD ou Powershell en tant qu'administrateur. Ajouter un pour le port dont vous avez besoin entrée ACL URL:

netsh http add urlacl url=http://*:[port]/ user=everyone 

2) Le fichier applicationhost avec les liaisons dans mon cas, se trouve directement dans le dossier du projet Visual Studio. Plus précisément, il se trouve à l'adresse .vs/config/applicationhost.config. Ouvrez le fichier dans un éditeur de texte et de trouver la ligne avec les informations de fixations pour votre application, quelque chose comme

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

Ajouter une autre entrée avec l'adresse IP de votre machine virtuelle, comme ceci:

<bindings> 
    <binding protocol="http" bindingInformation="*:1654:localhost" /> 
    <binding protocol="http" bindingInformation="*:1654:10.211.55.3" />     
</bindings> 

3) (** en option: ne peut pas être nécessaire ***) Dans le fichier applicationhost, recherchez l'entrée

<section name="anonymousAuthentication" overrideModeDefault="Deny" /> 

et changer à

<section name="anonymousAuthentication" overrideModeDefault="Allow" /> 

Maintenant, je peux accéder à l'application Web fonctionnant sur IIS à partir du Mac en utilisant l'adresse http://10.211.55.3:1654.

Espérons que cela aide.

+0

L'étape 3 ne semble pas nécessaire. Les autres étapes peuvent être facilement trouvées dans les messages de blog célèbres tels que http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx –