99 votes

Mauvaise requête - Nom d'hôte non valide IIS7

Lorsque j'essaie de lancer mon application web sur le port 8080, j'obtiens l'erreur suivante

Mauvaise requête - Nom d'hôte non valide
Erreur HTTP 400. Le nom d'hôte de la requête n'est pas valide.

Je ne sais même pas par où commencer pour diagnostiquer ce problème.

82voto

Taylor Bird Points 4613

Avez-vous vérifié la liaison avec IIS ? (inetmgr.exe) Il se peut qu'il ne soit pas enregistré pour accepter tous les noms d'hôtes sur 8080.

Par exemple, si vous la configurez pour mysite.com:8080 et que vous l'envoyez à localhost:8080, IIS recevra la demande mais n'aura pas de liaison avec le nom d'hôte et la rejettera.

En dehors de cela, vous devriez vérifier les journaux de IIS ( C:\inetpub\logs\wmsvc #) sur le serveur et voyez si vous voyez votre requête. Vous saurez alors si c'est un problème sur votre client ou sur le serveur lui-même.

34voto

Erwin Points 505

Ce site de Microsoft décrit comment configurer l'accès à IIS Server Express à partir d'autres ordinateurs du réseau local.

En un mot :

1) à partir d'une invite de commande avec des privilèges d'administrateur :

netsh http add urlacl url=http://[your ip address]:8181/ user=everyone

2) Dans le Pare-feu Windows avec Advanced Security, créez une nouvelle règle d'entrée pour le port 8181 afin d'autoriser les connexions externes.

3) Dans applicationhost.config, dans le nœud de votre projet, ajoutez :

<binding protocol="http" bindingInformation="*:8181:[your ip address]" />

N'ajoutez PAS (comme cela a été suggéré dans une autre réponse) :

<binding protocol="http" bindingInformation="*:8181:*" />

La liaison par caractères génériques ci-dessus a interrompu mon accès à partir de http://192.168.1.6:8181/

34voto

jlafay Points 4670

Pour information, si vous souhaitez autoriser les requêtes dirigées vers n'importe quel nom d'hôte/IP, vous pouvez définir votre liaison comme suit :

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

J'utilise cette liaison pour pouvoir charger une VM avec IE6 et déboguer ensuite mon application.


EDIT : Lorsque vous utilisez IIS Express pour le débogage, l'emplacement par défaut du fichier de configuration de cette option est le suivant

C:\Users\{User}\Documents\IISExpress\config\applicationhost.config

30voto

SINGULARITY Points 429

J'ai donc résolu le problème en allant sur mon site Web dans IIS Manager et en changeant le nom d'hôte dans les liaisons de site de localhost à *. Cela a commencé à fonctionner immédiatement.

Site Bindings in IIS

17voto

imgen Points 331

Para Visual Studio 2017 y Visual Studio 2015 , IIS Express est stocké dans le fichier caché .vs et le chemin est quelque chose comme ceci .vs\config\applicationhost.config ajouter une liaison comme ci-dessous fonctionnera

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

Syntaxe : https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.administration.binding.bindinginformation?view=iis-dotnet

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X