Configurer IIS Express pour un accès externe au projet VS2010

je développe un projet dans VS2010 et suis en mesure de voir mon site localement via IIS Express. Je voudrais activer l'accès externe sur le réseau.

toutes mes recherches m'ont envoyé à cette entrée de blog: http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx , ce qui est utile mais ne semble pas montrer comment configurer les fixations pour un projet lancé dans visual studio (Je ne trouve pas l'écran dans les screenshots, et j'ai édité des informations de liaison dans applicationhost.config, mais il ne semble pas être prises en compte lorsque je lance le site à partir de visual studio).

101
demandé sur snumpy 2011-03-25 17:28:47

9 réponses

1 après avoir édité applicationhost.fichier de configuration (situé dans le dossier IISExpress de vos documents), les reliures de votre site doivent ressembler à ce qui suit:

<bindings>
  <binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
Les reliures

se composent de trois parties. Tout d'abord une adresse IP ou une liste, ou comme dans ce cas, un joker. Deuxièmement le numéro de port, et troisièmement un nom d'hôte, ou une liste, ou un joker (pour le filtrage par Host en-tête). Pour les besoins du développement, un joker est le plus approprié ici car vous utiliserez probablement un port unique.

2 parce que vous utilisez la reliure non-localhost, des permissions supplémentaires sont nécessaires. Vous pouvez exécuter VS en tant qu'administrateur, ou de préférence vous devriez ajouter URL ACLs pour accorder les permissions requises. Dans l'exemple ci-dessous, l'autorisation est donnée à tout le monde, mais vous pouvez utiliser votre propre nom d'utilisateur.

Note: le urlacl doit correspondre exactement à la liaison. Ainsi, un urlacl pour http://*:8080 permettra une liaison de *:8080:* , mais pas d'une liaison de *:8080:localhost même si le dernier est un sous-ensemble de l'ancien. cela signifie que si, au lieu d'utiliser un joker, vous énumérez les en-têtes de l'hôte dans applicationhost.config , vous devez ajouter une correspondance urlacl pour chacun.

les étapes pour configurer HTTP.les sys pour le trafic externe sont similaires à la mise en place d'un site port réservé. Sur Windows 7 ou Windows Vista, à partir d'une invite de commande élevée, lancez la commande suivante:

netsh http add urlacl url=http://*:8080/ user=DOMAIN\username

sur Windows XP, exécutez la commande suivante à partir d'un prompt de commande élevé:

httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)

Note 2 si exécuter VS en tant qu'administrateur ou ajouter des entrées ACL ne résout pas votre problème, lancez IIS Express À partir du ligne de commande et vérifier s'il y a des messages d'échec d'enregistrement obligatoires. Pour commencer par la ligne de commande, donnez cette commande:

iisexpress.exe /site:"your-site-name"

3 enfin, vous aurez besoin d'entrées pare-feu appropriées. Pour cela, il est plus facile d'utiliser la console "Windows Firewall with Advanced Security".

sous" règles entrantes "choisir" nouvelle règle...".

  • Type de Règle est "Personnalisé".
  • Programme de Services->Personnaliser...- >S'appliquent uniquement aux services. (Bien que IIS Express ne soit pas un service, le multiplexeur HTTP qu'il utilise est).
  • protocole is TCP
  • Ports spécifiques: énumérez tous les ports pour toutes vos liaisons IIS Express. Vous pouvez revenir à cette règle, et d'ajouter des ports à tout moment. (Si cela devient ennuyeux, vous pouvez ajouter une gamme telle que 40000-65534 qui couvre toute la gamme utilisée par Visual Studio, mais soyez conscient que c'est moins sûr).
  • l'Action est "Autoriser la connexion"
  • Le profil
  • sera L'un des suivants. En cas de doute, choisissez "Domaine privé".
    • "domaine", si le vôtre est un bureau d'entreprise et ne sera exécuté que sur le domaine local
    • "domaine + privé" si le vôtre est une machine de développement privé dans un environnement non d'entreprise, ou un ordinateur portable d'entreprise qui a également besoin de travailler lorsque vous travaillez à domicile.
    • "Domaine Privé et Public", si vous avez besoin de faire des démonstrations sur la non-réseaux privés.
  • nom devrait être quelque chose comme "IIS Express Dev Server"
133
répondu vikomall 2015-07-26 10:41:15

j'ai passé des heures sur cette question aussi bien, en essayant de naviguer de mon Android Xoom à mon win7 dev machine, afin que je puisse tester un nouveau asp.net application web j'ai créé. Tout ce que j'ai fait, c'est changer l'application de IISExpress.config de l'utilisation du PC nom d'hôte de l'ordinateur actuel de l'adresse IP, pour mon nouveau site.

<binding protocol="http" bindingInformation="*:80:dev-Lee" />

à

<binding protocol="http" bindingInformation="*:80:192.168.1.102" /> 

une fois que j'ai fait ceci et re-commencé IISExpress... J'ai pu naviguer sur ma machine dev-Lee et voir mon application depuis mon Xoom!

28
répondu leester39 2012-07-30 07:39:06

nous pouvons ajouter plusieurs adresses de liaison en éditant applicationhost.config of IIS Express

<bindings>
   <binding protocol="http" bindingInformation="*:62217:localhost" />
   <binding protocol="http" bindingInformation="*:62217:192.168.0.5" />
   <binding protocol="http" bindingInformation="*:62218:192.168.0.5" />
</bindings>

maintenant, nous pouvons accéder au site web à partir de lan en utilisant l'adresse IP.

accès à des sites locaux à partir D'un réseau local utilisant IIS Express

13
répondu Nasir Mahmood 2017-11-18 07:34:20

Visual Studio 2013 SP1 et supérieur (2015) inclut le réglage "Appliquer les paramètres du serveur pour tous les utilisateurs (stocker dans le fichier de projet)". Cette option est activée par défaut. Lorsqu'il est activé, Visual Studio lance IIS Express avec des arguments en ligne de commande qui lui permettent d'utiliser un fichier de configuration différent. L'emplacement du "poste d'application".config' fichier sous le répertoire de projet.vs\config'.

6
répondu Jon Eldridge 2015-05-26 08:56:37

nous avons fait une extension gratuite VS (2012, 2013, 2015) appelé convoyeur qui permet cela - vous pouvez le trouver à travers les outils->Extensions... menu en VS ou sur le site de la galerie https://visualstudiogallery.msdn.microsoft.com/a429dbb7-a982-4541-b401-934375c02c0f?SRC=Home

2
répondu Jim W 2016-11-02 17:26:57

si vous travaillez avec Visual Studio, suivez ces étapes pour accéder à L'IIS-Express Via L'adresse IP:

  1. Obtenir votre hôte de l'Adresse IP: ipconfig en Ligne de Commande de Windows
  2. GoTo $(SolutionDir).vs\config\applicationHost.config
  3. Trouver

    <site name="WebApplication3" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site>
  4. ajouter: <binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>

    avec votre adresse IP
  5. courir votre Visual Studio avec les droits D'administrateur et tout devrait fonctionner
  6. peut-être chercher des problèmes de pare-feu si vous essayez de vous connecter à distance

l'indice est, que le studio visuel a obtenu son propre coût d'application.fichier de config!

1
répondu Daniel Eisenreich 2017-03-31 07:37:10

j'ai eu beaucoup de mal à obtenir que cela fonctionne à partir de visual studio 2012, je suis passé de 404 erreurs à 503 erreurs. Finalement, ce qui a fonctionné pour moi, c'est d'effacer toute la configuration associée dans la configuration IIS Express...

"\Program Files (x86)\IIS Express\appcmd.exe" list site
"\Program Files (x86)\IIS Express\appcmd.exe" delete site xxx
"\Program Files (x86)\IIS Express\appcmd.exe" delete site yyy

puis j'ai créé un nouveau répertoire virtuel à partir de la page de propriétés dans mon projet web en VS mais avant de créer le répertoire virtuel j'ai changé le nom d'hôte en http://myhost:80 / puis cliquez sur Créer virtuel bouton de répertoire. Précédemment j'avais eu des erreurs disant que le nom d'hôte devait être 'localhost' mais cette fois-ci ce n'est pas le cas. Et après cela, il a travaillé.

en bref, supprimez d'abord la configuration existante et recommencez.

0
répondu stu 2015-01-27 21:48:08

si votre domaine externe est "name.mydyndns.com", alors vous devez écrire:

<binding protocol="http" bindingInformation="*:name.mydyndns.com" />

cela fonctionne sur Windows 2003 Server et IIS 7.5 Express.

-2
répondu Juan 2013-06-08 13:47:12

Screenshot

dans le pool d'applications IIS ensemble "Activer les Applications 32 Bits" à "true".

-3
répondu Mürsel Yıldırım 2016-02-21 14:11:22