web-dev-qa-db-fra.com

Requête incorrecte - Nom d'hôte non valide ASP.net Visual Studio 2015

Après avoir débogué mon site Web dans Visual Studio 2015, je peux le visiter via localhost: 50544. Je voudrais visiter mon site Web sur un autre ordinateur à partir duquel il est servi qui est également sur le même réseau. Pour ce faire, je devrais pouvoir visiter l'adresse de cet ordinateur qui est 192.168.1.13:50544.

Cependant, lors de la visite de cette adresse, le message d'erreur «Requête incorrecte, Nom d'hôte non valide» s'affiche. Même si je le visite sur la même machine que le site Web est en cours de traitement.

En suivant les conseils ici , j'ai créé la règle de pare-feu Windows suivante et j'ai également essayé de désactiver complètement le pare-feu.  picture of firewall rule

J'utilise IIS express et j'ai donc ajouté au fichier '~\Documents\IISExpress\config\applicationhost.config'

<binding protocol="http" bindingInformation=":8080:localhost" /> //original rule
<binding protocol="http" bindingInformation="*:50544:192.168.1.13" />

Mais visiter 192.168.1.13:50544 sur n’importe quelle machine entraîne toujours l’erreur «Demande incorrecte». 

19
RADXack

Le format de l'attribut bindingInformation est le suivant:

ip address:port:Host header

Ce dont vous avez besoin c'est:

bindingInformation="192.168.1.13:50544:*"

Source: https://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding?showTreeNavigation=true#006

Mettre à jour:

Il semble y avoir des gens qui croient à tort que cette réponse est incorrecte. Tout d’abord, lisez la documentation (voir lien ci-dessus) et lisez les exemples. 

Deuxièmement, IIS et IIS Express sont essentiellement le même produit. IIS Express a été modifié afin que les non-administrateurs puissent exécuter IIS sur des PC de développement sur lesquels ils ne disposent peut-être pas des droits d'administrateur local complet. Malgré cela, IIS et IIS Express utilisent les mêmes formats de fichier applicationHost.config, ce qui signifie que le format de l'attribut bindingInformation est exactement le même pour les deux produits.

La raison pour laquelle la chaîne (incorrecte) :50544:192.168.1.13bindingInformation fonctionne est que (à tort ou à raison):

  • si aucun en-tête d'hôte n'est spécifié

  • s'il n'y a pas d'adresse IP correspondante dans la première partie du champ d'information de liaison

... alors IIS essaiera de faire correspondre une adresse IP dans la partie en-tête de l'hôte de la chaîne d'informations de liaison.

Le format correct pour IIS7 + et IIS Express est, et a toujours été:

ip_address:port:Host_header
17
Kev

Vous devez exécuter Visual Studio en tant qu'administrateur

Dans Visual Studio 2015, le applicationhost.config se trouve dans le dossier du projet lui-même. Echap MyProjectName\.vs\config, notez que le dossier .vs peut être masqué. Changez l'IP à partir de là, pas le dossier IISExpress.

Votre <binding protocol="http" bindingInformation="*:50544:192.168.1.13" /> est correct. 

20
Seagull

Nous avons créé une extension appelée Conveyor que vous pouvez utiliser pour ouvrir IIS Express à un accès externe sans modification de la configuration.

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti

7
Jim W

J'ai eu le même problème avec l'accès à distance et j'ai essayé tous ces conseils pour y remédier. Pour moi, j'ai coché "Autoriser l'authentification anonyme" dans la configuration de projet Web.

0
Oskar Bzdoń