Je développe un projet dans VS2010 et je peux visualiser mon site localement via IIS Express. Je souhaite activer l'accès externe sur le réseau.
Toutes mes recherches m'ont renvoyé à 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 le fait ne semble pas montrer comment configurer les liaisons pour un projet démarré dans Visual Studio (je ne trouve pas l'écran dans les captures d'écran et j'ai modifié les informations de liaison dans applicationhost.config, mais cela ne semble pas être reflété lorsque je lance le site à partir de Visual Studio).
Réponses:
1 Après avoir modifié le fichier applicationhost.config (situé dans le dossier IISExpress de vos documents), les liaisons de votre site doivent ressembler à celles-ci:
Les reliures se composent de trois parties. Tout d'abord une adresse IP ou une liste, ou comme dans ce cas, un caractère générique. Deuxièmement, le numéro de port, et troisièmement un nom d'hôte, une liste ou un caractère générique (pour le filtrage par en-
Host
tête). À des fins de développement, un caractère générique est le plus approprié ici car vous utiliserez probablement un port unique.2 Étant donné que vous utilisez une liaison non-localhost, des autorisations supplémentaires sont requises. Vous pouvez exécuter VS en tant qu'administrateur, ou de préférence, vous devez ajouter des listes de contrôle d' accès URL pour accorder les autorisations requises. Dans l'exemple ci-dessous, l'autorisation est donnée à tout le monde, mais vous pouvez utiliser votre propre nom d'utilisateur.
Remarque: le
urlacl
doit correspondre exactement à la liaison. Ainsi, unurlacl
forhttp://*:8080
permettra une liaison de*:8080:*
, mais pas une liaison de*:8080:localhost
même si ce dernier est un sous-ensemble du premier. cela signifie que si, au lieu d'utiliser un caractère générique, vous répertoriez les en-têtes d'hôteapplicationhost.config
, vous devez ajouter une correspondanceurlacl
pour chacun.Remarque 2 Si l'exécution de VS en tant qu'administrateur ou l'ajout d'entrées ACL ne résout pas votre problème, exécutez IIS Express à partir de la ligne de commande et vérifiez s'il existe des messages d'échec d'enregistrement de liaison. Pour commencer à partir de la ligne de commande, donnez cette commande:
3 Enfin, vous aurez besoin des entrées de pare-feu appropriées. Pour cela, il est plus simple d'utiliser la console "Pare-feu Windows avec sécurité avancée".
Sous "Règles entrantes", choisissez "Nouvelle règle ...".
40000-65534
qui couvre toute la plage utilisée par Visual Studio, mais sachez que cela est moins sécurisé).la source
C:\<Path\To\Solution>\.vs\config\applicationhost.config
. (Merci, @Talon)J'ai également passé des heures sur ce problème, à essayer de naviguer de mon Android Xoom vers ma machine de développement win7, afin de pouvoir tester une nouvelle application Web asp.net que j'ai créée. Tout ce que j'ai fait a été de changer le fichier applicationhost.config d'IISExpress en utilisant le nom d'hôte du PC en l'adresse IP actuelle du PC, pour mon nouveau site.
à
Une fois que j'ai fait cela et redémarré IISExpress ... j'ai pu accéder à ma machine dev-Lee et voir mon application depuis mon Xoom!
la source
Nous pouvons ajouter plusieurs adresses de liaison en éditant applicationhost.config d'IIS Express
Maintenant, nous pouvons accéder au site Web à partir du réseau local en utilisant l'adresse IP.
Accès aux sites locaux à partir du réseau local à l'aide d'IIS Express
la source
Visual Studio 2013 SP1 et supérieur (2015) inclut le paramètre «Appliquer les paramètres du serveur à tous les utilisateurs (stocker dans le fichier projet)». C'est activé par défault. Lorsqu'il est activé, Visual Studio lance IIS Express avec des arguments de ligne de commande qui lui permettent d'utiliser un fichier de configuration différent. L'emplacement du fichier 'applicationhost.config' se trouve sous le répertoire du projet dans '.vs \ config'.
la source
Nous avons créé une extension VS gratuite (2012, 2013, 2015) appelée Conveyor qui permet cela - vous pouvez la trouver via le menu Outils-> Extensions ... dans VS ou sur le site de la galerie https://visualstudiogallery.msdn.microsoft. com / a429dbb7-a982-4541-b401-934375c02c0f? SRC = Accueil
la source
Si vous travaillez avec Visual Studio, suivez ces étapes pour accéder à IIS-Express via l'adresse IP:
ipconfig
dans la ligne de commande Windows<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>
<binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
avec votre adresse IP
L'indice est que Visual Studio a son propre fichier applicationHost.config!
la source
J'ai eu beaucoup de mal à faire fonctionner cela à partir de Visual Studio 2012, je suis passé de 404 erreurs à 503 erreurs. Finalement, ce qui a fonctionné pour moi, a été d'effacer toute la configuration associée dans la configuration IIS Express ...
Ensuite, j'ai créé un nouveau répertoire virtuel à partir de la page de propriétés de mon projet Web dans VS, mais avant de créer le répertoire virtuel, j'ai changé le nom d'hôte en http: // myhost: 80 / puis appuyez sur le bouton Créer un répertoire virtuel. Auparavant, j'avais reçu des erreurs disant que le nom d'hôte devait être «localhost» mais cette fois ce n'était pas le cas. Et après ça, ça a marché.
En bref, effacez d'abord la configuration existante et recommencez.
la source
Si votre domaine externe est "name.mydyndns.com", vous devez écrire:
Cela fonctionne sur Windows 2003 Server et IIS 7.5 Express.
la source
dans le pool d'applications sur IIS, définissez «Activer les applications 32 bits» sur «vrai».
la source