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.

7voto

Tahir FEYZIOGLU Points 49

Si vous travaillez sur un serveur local ou si vous n'avez pas de nom de domaine, supprimez le champ "Host Name :". enter image description here

5voto

Lucifer Sam Points 1768

N'oubliez pas de vous lier également à l'adresse IPv6 ! J'ai essayé d'ajouter un site sur 127.0.0.1 en utilisant localhost et j'ai obtenu l'erreur bad request/invalid hostname. Lorsque j'ai envoyé un ping à localhost, il s'est résolu par ::1 puisque l'IPv6 était activé, il ne me restait plus qu'à ajouter la liaison supplémentaire pour résoudre le problème.

IIS Site Bindings

4voto

izik f Points 567

Cela a résolu mon problème (désolé pour mon mauvais anglais) :

  1. ouvrir cmd en tant qu'administrateur et exécuter la commande (sans les crochets) :
    netsh http add urlacl url=http://[ip adress]:[port]/ user=everyone

  2. sur documents/iisexpress/config/applicationhost.config et dans votre dossier de projet Root dans le dossier (caché) : .vs/config/applicationhost.config vous devez ajouter une ligne à la balise "site" :
    <binding protocol="http" bindingInformation="*:8080:192.xxx.xxx.xxx" />

  3. ouvrir "le gestionnaire des services d'information sur l'internet (iis)"
    (pour le trouver : dans la barre de recherche de la barre des tâches, écrivez "Turn Window features on or off" et ouvrez le résultat, puis cochez la case "internet information service" et installez-la) :

    1. dans l'écran de gauche, cliquez sur : nom de l'ordinateur --> Sites --> Site web par défaut et
    2. puis cliquez dans l'écran de droite sur "Binding".
    3. cliquez sur le bouton Ajouter
    4. écrivez ce dont vous avez besoin et appuyez sur "OK".
  4. ouvrir "Pare-feu Windows avec sécurité avancée",

    1. dans l'écran de gauche, appuyez sur "Règles d'entrée" et puis
    2. appuyez dans l'écran de droite sur "Nouvelle règle...".
    3. vérifier le port et appuyez sur Suivant,
    4. cochez TCP et votre port et appuyez sur Suivant,
    5. cochez "Autoriser la connexion" et appuyez sur Suivant,
    6. cochez toutes les cases et appuyez sur Suivant,
    7. écrivez le nom et appuyez sur Terminer.
  5. fait.

3voto

MasterMastic Points 3868

Je ne suis pas sûr que ce soit votre problème, mais pour tous ceux qui essaient d'accéder à leur application web depuis leur machine et qui rencontrent ce problème :

Assurez-vous que vous vous connectez à 127.0.0.1 (alias localhost ) et non à votre adresse IP externe.

Votre URL devrait être quelque chose comme http://localhost:8181/ o http://127.0.0.1:8181 y no http://YourExternalIPaddress:8181/ .


Informations complémentaires :
La raison pour laquelle cela fonctionne est que votre pare-feu peut bloquer votre propre demande. Il peut s'agir d'un pare-feu sur votre système d'exploitation ou (comme d'habitude) de votre routeur.

Lorsque vous vous connectez à votre adresse IP externe, vous vous connectez à vous depuis l'internet, comme si vous étiez un étranger (ou un pirate).
Cependant, lorsque vous vous connectez à votre localhost, vous vous connectez localement en tant que vous-même et le bloc n'est évidemment pas nécessaire (et est même évité).

3voto

Anton Nikitsiuk Points 29

J'ai également rencontré ce problème, mais il était lié à AllowedHosts de la configuration de mon application.

Si c'est une application .Net, vous devriez probablement avoir appsettings.json Regardez son AllowedHosts et essayez de le changer en All-allowed. "*"

{
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information"
        }
    },
    "AllowedHosts": "*",
}

Ainsi, en cas de valeur incorrecte de AllowedHosts, vous aurez également l'erreur BarRequest

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