Comment résoudre ERR_CONNECTION_REFUSED lors de la tentative de connexion à l'hôte local exécutant IISExpress - Erreur 502 (impossible de déboguer à partir de Visual Studio)?

98

Cela fonctionne sur Windows Server 2008 et fonctionnait il y a plusieurs mois. J'utilise à nouveau ce serveur pour un travail de développement avec VS.

Il s'agit d'un serveur Web en direct utilisé pour servir également quelques sites de test.

Cela s'est produit lors de l'exécution de Visual Studio, puis du lancement de mes projets pour le débogage.

Essayer de lancer n'importe quel site localhost:xxxxlorsque IISExpress a été lancé (en utilisant les numéros de port réels dans la configuration pour accéder à différents sites):

This webpage is not available

ERR_CONNECTION_REFUSED

J'y suis déjà depuis quelques jours, car j'ai lu que d'autres ont eu des problèmes similaires, essayé la plupart des choses que j'ai lues, y compris le changement managedruntimeversionde "v4.0" à "v4.0.30319" pour .net 4.5 (je n'ai jamais devait faire cela avant) et la désactivation du module de journalisation (toutes les suggestions trouvées ici ).

Il n'y a que deux entrées dans mon hostsfichier qui pointent vers les adresses IP du serveur interne. Aucune localhostadresse IP ou référence connexe.

Je suis allé jusqu'à réinstaller IIS Express et Visual Studio 2013. J'ai également créé un tout nouveau WebApplicationsite pour essayer de résoudre ce problème (simples et pas d'autres liaisons compliquées).

Quand je lance Fiddler, je vois ce qui suit sur la page:

[Fiddler] The socket connection to localhost failed. 
ErrorCode: 10061. 
No connection could be made because the target machine actively refused it 127.0.0.1:23162

Capture de violoneux

J'ai supprimé tous les paramètres de proxy de la section de connexion LAN d'IE, où avant d'obtenir une fenêtre contextuelle rouge-x dans VS indiquant que quelque chose comme IISExpress ne pouvait pas se lancer .

Ce n'est pas une question de SSL ou non SSL.

J'ai installé le serveur TFS - désinstallé au cas où il y aurait des liaisons étranges qui interféraient.

J'ai essayé de supprimer le dossier de configuration / paramètres IISExpress plusieurs fois.

Le fichier applicationhost.config actuel contient:

<site name="WebApplication1" id="4">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:\TFS-WorkRepository\Sandbox\WebApplication1\WebApplication1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:23162:localhost" />
                </bindings>
            </site>
            <siteDefaults>
                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
            </siteDefaults>
            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />

J'aimerais qu'il y ait une étiquette pour really-stuck.

S'il vous plaît suggérez loin, car je ne veux pas aller aussi loin que la création d'un nouveau serveur.

-- METTRE À JOUR --

Dans la barre d'URL, lorsque j'entre le nom de l'ordinateur ou l'adresse IP: xxxx j'obtiens le ERR_CONNECTION_TIMED_OUTplutôt que ERR_CONNECTION_REFUSED.

ElHaix
la source

Réponses:

100

Essayez de changer le numéro de port dans votre projet?

Propriétés du projet → Web → Serveurs → URL du projet:

entrez la description de l'image ici

N'oubliez pas de cliquer Create Virtual Directoryou de répondre "Oui" à l'invite de création de répertoire virtuel après avoir changé votre numéro de port! (Merci Connor )

Remarque: je suis un peu réticent à publier ceci comme une réponse, car je n'ai aucune idée du problème ou de sa cause, mais j'ai eu un problème similaire et le changement du numéro de port a fait l'affaire pour moi. Je ne publie cela que par la suggestion dans les commentaires que cela a également fonctionné pour quelqu'un d'autre.

Dans mon cas, il semblait que quelque chose était en conflit avec le numéro de port spécifique que j'utilisais, alors j'ai changé pour un autre, et mon site est réapparu! Je ne sais pas ce que cela signifie pour l'ancien numéro de port, ou si je pourrai un jour l'utiliser à nouveau. Peut-être que quelqu'un de plus compétent que moi pourra intervenir là-dessus.

sǝɯɐſ
la source
1
cela a fonctionné pour moi - plutôt que de modifier les paramètres du navigateur comme mentionné dans cette réponse stackoverflow.com/questions/7227845/...
Don Cheadle
cela a fonctionné pour moi. après avoir changé le numéro de port, j'ai été invité à changer mon répertoire virtuel, qui avait en quelque sorte changé pour être incorrect.
GraehamF
Cela a fonctionné pour moi aussi. Aucune idée de comment c'est arrivé. J'ai arrêté IIS Express et lors de la prochaine exécution, rien d'autre que l'erreur.
Joseph Ferris
1
Assurez-vous de cliquer sur «Créer un répertoire virtuel» après avoir modifié votre numéro de port!
Connor Williams
Cela m'est arrivé à nouveau aujourd'hui! : / Bien que je sois heureux que ma suggestion aide les gens, j'aimerais vraiment pouvoir comprendre ce qui ne va pas. Passer lentement les numéros de port utilisables ici: P
sǝɯɐſ
36

Merci pour toutes les réponses. J'ai essayé tous, mais aucun n'a fonctionné pour moi. Ce qui a fonctionné a été de supprimer le fichier applicationhost.config du dossier .vs (trouvé dans le dossier de votre projet / solution) et de créer un nouveau répertoire virtuel (Propriétés du projet> Web> Créer un répertoire virtuel). J'espère que cela aidera quelqu'un d'autre.

Annie Lagang
la source
3
J'ai rencontré le même problème lorsque j'ai ouvert une solution VS2015 dans VS2013 et y ai travaillé pendant un moment, puis je suis retourné à VS2015. La suppression de applicationhost.config l'a résolu.
Gary Ray
Dans mon cas, applicationhost.config et le redémarrage de Visual Studio ont conduit à un "échec du chargement du projet". Je ne pouvais même pas accéder aux propriétés du projet alors.
Alex
34

Ce problème peut être dû au fait que vous avez récemment utilisé la liaison d'adresse IP dans la configuration de votre application.

Étapes pour résoudre le problème:

  • Exécutez la commande ci-dessous dans le terminal de commande d'accès administrateur

netsh http montrer iplisten

Si vous voyez quelque chose comme ci-dessous, cette solution peut ne pas vous aider.

Adresses IP présentes dans la liste d'écoute IP:

0.0.0.0

Si vous voyez quelque chose de différent de 0.0.0.0, essayez les étapes ci-dessous pour résoudre ce problème.

  • Exécutez la commande shell suivante dans l'ordre avec le terminal de commande élevé

netsh http supprimer iplisten ipaddress = 11.22.33.44

netsh http ajouter iplisten ipaddress = 0.0.0.0

iisreset

  • (Ici 11.22.33.44 est l'adresse IP réelle qui doit être supprimée)

Et maintenant, votre issexpress est configuré pour écouter tout ping venant à la liaison localhost.

Niraj Kumar Chauhan
la source
@Niraj Kumar Chauhan a sauvé le bourgeon du jour !! Gareautrain ... Je ne sais pas comment 0.0.0.0 a été supprimé en premier lieu, mais son ajout a résolu le problème.
Sethles
Après sept heures de recherche de la raison pour laquelle Power BI Report Server n'écoutait pas correctement: les 2 secondes de cette opération l'ont corrigé. Merci! Notre configuration existante avait '::' au lieu de 0.0.0.0; N'est-ce pas la même chose et / ou comment cela aurait-il pu être changé?
MattV le
Hé ça a marché! Sur mon ordinateur, la première commande n'a montré aucune adresse IP, j'ai donc simplement exécuté la commande "add" et la commande "iisreset". Après cela, j'avais encore besoin de redéployer mon projet et de redémarrer IIS une deuxième fois, mais cela a fonctionné.
Mathew Alden le
20

Je viens de réparer ça pour ma machine. Peut-être que cela fonctionnera pour certains. Peut-être pas pour les autres, mais voici ce qui a fonctionné pour moi.

Dans IIS, j'ai dû ajouter des liaisons pour https au site Web par défaut (ou, je suppose, au site Web sous lequel vous exécutez l'application).

entrez la description de l'image ici

Maintenant, mon hôte local fonctionne lors du débogage à partir de Visual Studio.

Stuart
la source
Juste pour noter, une vérification pour voir si c'est le problème consiste simplement à changer https en http dans votre URL, car la liaison http devrait déjà être en place.
DubDub
Cela a réglé le problème pour moi. Je soupçonne que lorsque j'ai dit à Visual Studio de créer une deuxième application sur mon serveur IIS de développement, quelque chose doit avoir supprimé les liaisons de ma première application.
Mathew Alden le
7

J'ai eu le même problème. J'ai essayé ces étapes:

  1. Fermé le Visual Studio 2017
  2. Suppression du [solutionPath] .vs \ config \ applicationhost.config
  3. Rouvrir la solution et cliquer sur [Créer un répertoire virtuel]
  4. Tentative d'exécution => ERR_CONNECTION_REFUSED
  5. ÉCHOUÉ

Un autre essai:

  1. Fermé le Visual Studio 2017
  2. Suppression du [solutionPath] .vs \ config \ applicationhost.config
  3. Suppression du. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Rouvrir la solution et cliquer sur [Créer un répertoire virtuel]
  5. Tentative d'exécution => ERR_CONNECTION_REFUSED
  6. ÉCHOUÉ

Un autre essai:

  1. Fermé le Visual Studio 2017
  2. Suppression du [solutionPath] .vs \ config \ applicationhost.config
  3. Suppression du. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Ajout de 127.0.0.1 localhost à C: \ Windows \ System32 \ drivers \ etc \ hosts
  5. Rouvrir la solution et cliquer sur [Créer un répertoire virtuel]
  6. Tentative d'exécution => ERR_CONNECTION_REFUSED
  7. ÉCHOUÉ

CE QUI A FONCTIONNÉ:

  1. Fermez Visual Studio 2017
  2. Supprimez le [solutionPath] .vs \ config \ applicationhost.config
  3. Démarrez "Gérer les certificats d'ordinateur" et recherchez le certificat "localhost" dans Personnel-> Certificats entrez la description de l'image ici
  4. Supprimer ce certificat (faites-le à vos risques et périls)
  5. Démarrer le Panneau de configuration \ Tous les éléments du panneau de configuration \ Programmes et fonctionnalités
  6. Localisez «IIS 10.0 Express» (ou votre propre version d'IIS Express)
  7. Cliquez sur "Réparer" entrez la description de l'image ici
  8. Rouvrez la solution et cliquez sur [Créer un répertoire virtuel]
  9. Démarrez le projet Web.
  10. Vous obtiendrez cette question: entrez la description de l'image ici. Cliquez sur "Oui"
  11. Vous obtiendrez cette question: entrez la description de l'image ici. Cliquez sur "Oui"
  12. Maintenant ça marche.
Lucian
la source
6

La solution de Sam a fonctionné pour moi, mais je ne voulais pas devenir administrateur en tant que solution permanente.

Voici comment je l'ai résolu dans mon cas:

  1. Exécutez CMD en tant qu'administrateur
  2. Tapez "netsh http show urlacl" et recherchez l'url réservée avec le port correspondant
  3. Tapez "netsh http delete urlacl url = YourReservedUrlHere"

Après cela, je pourrais exécuter mon application sans avoir besoin de droits d'administrateur. Mais cela a gâché la possibilité de naviguer vers mon application à partir d'un ordinateur externe. Assez proche pour moi pour l'instant.

RoyBS
la source
Merci, résolu mon problème. Après avoir supprimé l'URL réservée, reconstruisez le projet et cela fonctionne parfaitement sans le mode Admin.
Parveen
5

Dans mon cas, cela a été causé par le démarrage d'IIS sans droits administratifs. Lorsque j'ai lancé IIS en tant qu'administrateur et lancé le site, cela fonctionnait bien

sam
la source
C'était la réponse pour moi, même si je ne me souviens pas avoir exécuté VS en tant qu'administrateur la première fois que j'ai ouvert le projet alors qu'il fonctionnait.
Stafford Williams
oh yea duh (claque le front)
johntrepreneur
3

Dans mon cas, cela a été causé par un débordement infini de boucle / pile.

Josh
la source
1

J'ai résolu ce problème en démarrant Visual Studio avec Run as administrator. Cela est également nécessaire si vous souhaitez publier votre projet sur le serveur IIS local.

Pour définir ceci de façon permanente: -

  1. Cliquez avec le bouton droit sur l'icône Visual Studio
  2. Sélectionner Properties
  3. Cliquez sur Advanced
  4. Assurez Run as administrator- vous que la case est cochée
  5. Cliquez sur OKtout le chemin.
  6. Démarrez Visual Studio, chargez votre projet et démarrez le débogage
Joehanna
la source
1

Dans mon cas, mon collègue a changé le nom de la solution pour qu'après avoir obtenu la dernière version du projet, j'exécute mon application Web avec IIS EXPRESS, puis j'ai reçu le message ERR_CONNECTION_REFUSEDdans mon google chrome.

Après avoir essayé toutes les solutions que je trouve sur Internet, j'ai finalement résolu le problème avec ces étapes:

  1. Fermer VS
  2. Supprimer le .vsdossier dans le dossier du projetentrez la description de l'image ici

  3. Exécuter en tant qu'administrateur VS

  4. Ouvrez le débogage> Propriétés de [votre application]> Web

  5. Changez le port dans l'URL du projet et n'oubliez pas d'utiliser https car dans mon cas, lorsque je l'utilise, httpcela ne fonctionnait toujours pas.

  6. Cliquez sur Create virtual directory

  7. Exécutez à nouveau l'application à l'aide d'IIS EXPRESS.

  8. Et l'application Web s'est exécutée avec succès.

J'espère que cela aide.

Satria Janaka
la source
1

J'ai résolu en allant dans Propriétés du projet -> Déboguer, après avoir activé SSL et utiliser l'adresse dans votre navigateur

entrez la description de l'image ici

DigaoParceiro
la source
0

Rebuild All a fonctionné pour moi. VS2013, IIS Express.

JohnWrensby
la source
0

Assurez-vous également d'avoir une page de démarrage spécifiée. Faites un clic droit sur la page .aspx que vous souhaitez utiliser comme page de démarrage et choisissez "Définir comme page de démarrage"

Clairière Mellor
la source
0

Une solution simple (cela a fonctionné pour moi) consiste à utiliser l'adresse IP au lieu de localhost. Cela devrait convenir à vos tâches de développement.

raj240
la source
0

J'ai essayé de nombreuses méthodes sur Chrome, mais la seule chose qui a fonctionné pour moi était "Effacer les données de navigation"

J'ai dû faire la version "avancée" car la norme ne fonctionnait pas. Je soupçonne que c'était "Paramètres de contenu" qui le faisait.

GrowthCode
la source
0

J'ai récemment rencontré ce problème lorsque je copie le code source d'une autre machine.

-> Supprimez le dossier .vs (il s'agit d'un dossier caché, alors assurez-vous d'avoir activé l'option Afficher le dossier caché)
-> ouvrez Visual Studio et créez votre projet. Visual Studio créera un nouveau dossier .vs selon la configuration système actuelle

Développeurs omniprésents
la source
0

Bien que probablement pas lié à votre problème, j'ai eu le même problème aujourd'hui. En fait, j'avais activé un module de réécriture d'URL pour forcer mon site à utiliser HTTPS au lieu de HTTP et sur mon environnement de production, cela fonctionnait très bien. Mais sur mon système de développement, où il s'exécute en tant qu'application dans mon site par défaut, il a échoué ...
En fait, mon site par défaut n'avait pas de liaison pour HTTPS donc le module de réécriture m'envoyait de HTTP à HTTPS, mais rien n'était écoute du port HTTPS ...
Il est possible que vous ayez ce problème pour une raison similaire. Cette erreur semble se produire s'il n'y a pas de liaison appropriée pour le site auquel vous essayez d'accéder ...

Wim ten Brink
la source
0

Cela peut être pertinent pour un certain sous-ensemble de personnes avec ce problème ... peut-être dans une saveur différente.

Je forçais une redirection https sur RELEASE.

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
  filters.Add(new HandleErrorAttribute());
  #if !DEBUG
  filters.Add(new RequireHttpsAttribute());
  #endif    
}

Et il n'y avait pas https activé sur mon iis express. Travailler correctement sur DEBUG

Pincer
la source
0

J'essayais simplement de lier IP avec IIS mais j'ai fini par jouer avec les fichiers de configuration IIS.J'ai littéralement essayé plus de 20 solutions pour cela, qui comprend

  1. Suppression de fichier .vs d'une solution de projet
  2. Suppression du fichier de configuration du dossier IIS
  3. Suppression du dossier IIS
  4. Mise à jour VS2019
  5. Réparation VS2019
  6. D'innombrables fois la machine et le redémarrage VS
  7. diverses commandes sur CMS
  8. diverses mises à jour logicielles
  9. Différents ports changent

mais ce qui a fonctionné et qui peut également fonctionner pour quelqu'un d'autre, c'est REPAIRIIS de

Control Panel\Programs\Programs and Features

Sinon vous pouvez vous référer à cette réponse aussi bien

Réparation IIS10

Caméléon
la source
0

Assurez-vous que le débogage de script est désactivé

entrez la description de l'image ici

J'obtenais cela par intermittence malgré avoir essayé plusieurs des suggestions ci-dessus. Dès que j'ai désactivé cela, mon débogage de mon site a fonctionné comme un rêve. (Je pense que je ne l'ai allumé que par accident, ou peut-être dans une vie antérieure).

hnodrog
la source
0

Si vous utilisez IIS «réel», cela peut se produire si le service W3SVC (World Wide Web Publishing) est arrêté.

Cela devrait sembler évident, mais si vous avez accidentellement arrêté le service ou l'avez réglé sur manuel, cela pourrait vous arriver.

Je sais que le titre dit IIS express, mais Google ne semble pas filtrer l'express même en utilisant un indice -Express, donc j'espère que cela aidera quelqu'un d'autre qui a trouvé cette page au lieu d'une page spécifique à IIS.

Justin
la source