web-dev-qa-db-fra.com

Comment résoudre ERR_CONNECTION_REFUSED lors d'une tentative de connexion à localhost avec IISExpress - Erreur 502 (impossible de déboguer à partir de Visual Studio)

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

Ce serveur Web actif sert également à servir 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 avec localhost:xxxx après le lancement d’IISExpress (en utilisant le numéro de port actuel dans la configuration pour accéder à différents sites):

This webpage is not available

ERR_CONNECTION_REFUSED

Cela fait déjà quelques jours que je suis à ce sujet, car j'ai lu que d'autres avaient eu des problèmes similaires, essayé la plupart des choses j'ai lu, notamment changer le managedruntimeversion de "v4.0" à "v4.0.30319" pour .net 4.5 (je n'ai jamais eu à faire cela auparavant) et désactiver le module de journalisation (toutes les suggestions trouvées ici ).

Mon fichier hosts ne contient que deux entrées pointant vers des adresses IP de serveur internes. Aucune adresse IP ou référence liée localhost.

Je suis allé aussi loin que de réinstaller IIS Express et Visual Studio 2013. J'ai également créé un tout nouveau site WebApplication pour tenter de résoudre ce problème (liaisons simples et non compliquées).

Lorsque 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

 Fiddler capture

J'ai supprimé tous les paramètres de proxy de la section de connexion au réseau local d'IE, alors qu'avant, je recevais un popup red-x dans VS indiquant quelque chose comme IISExpress n'a pas pu être lancé.

Ce n'est pas une affaire de SSL vs non SSL.

J'avais TFS Server installé - désinstallé que dans le cas où il y avait quelques liaisons étranges qui interféraient.

J'ai essayé plusieurs fois de supprimer le dossier config/settings d'IISExpress.

Current applicationhost.config 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 un tag pour really-stuck.

S'il vous plaît, suggérez ailleurs, car je ne veux pas aller jusqu'à créer un nouveau serveur.

-- METTRE À JOUR --

Dans la barre d'adresse, lorsque je saisis le nom de l'ordinateur ou l'adresse IP: xxxx, je reçois le ERR_CONNECTION_TIMED_OUT plutôt que le ERR_CONNECTION_REFUSED.

69
ElHaix

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

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

 enter image description here

N'oubliez pas de cliquer sur Create Virtual Directory ou répondez "Oui" à l'invite de création d'un répertoire virtuel après avoir modifié votre numéro de port! (Merci Connor )

Remarque: je suis un peu réticent à répondre à cette question, car je ne sais pas du tout où se trouve le problème. La cause est la même, mais j’avais un problème similaire et le fait de changer le numéro de port me convenait parfaitement. Je poste seulement ceci par la suggestion dans les commentaires que cela a fonctionné pour quelqu'un d'autre aussi.

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 a été sauvegardé! Je ne sais pas ce que cela signifie pour l'ancien numéro de port ou si je pourrai le réutiliser un jour. Peut-être que quelqu'un de plus compétent que moi pourra en parler.

73
sǝɯɐſ

Merci pour toutes les réponses. Je les ai tous essayés mais aucun d'entre eux n'a fonctionné pour moi. Ce qui a fonctionné a été de supprimer le fichier applicationhost.config du dossier .vs (situé 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. 

30
Annie Lagang

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écuter la commande ci-dessous dans les accès administrateur terminal de commande

netsh http show iplisten

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

Les 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 solutions ci-dessous pour résoudre ce problème.

  • Exécuter ces commandes successivement dans le terminal de commande surélevé

netsh http delete iplisten ipaddress = 11.22.33.44 (où 11.22.33.44 est l'adresse IP à supprimer)

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

Et maintenant, votre serveur issexpress est prêt à écouter tout ping venant de la liaison localehost.

20
Niraj Kumar Chauhan

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

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

 enter image description here

Maintenant, mon localhost fonctionne lors du débogage à partir de Visual Studio.

9
Stuart

Dans mon cas, cela a été causé par le démarrage de IIS sans aucun droit administratif. Lorsque j'ai lancé IIS en tant qu'administrateur et que j'ai démarré le site, tout fonctionnait bien

4
sam

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

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

  1. Exécuter 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 il a été gâché par la possibilité de naviguer vers mon application depuis un ordinateur externe. Assez proche pour moi pour l'instant.

3
RoyBS

Dans mon cas, cela était dû à un débordement infini de boucles/pile.

2
Josh

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

 enter image description here

1
DigaoParceiro

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

Pour régler ceci de manière permanente: -

  1. Cliquez avec le bouton droit sur l'icône Visual Studio.
  2. Sélectionnez Properties
  3. Cliquez sur Advanced
  4. Assurez-vous que Run as administrator est coché
  5. Cliquez sur OK jusqu'au bout.
  6. Démarrez Visual Studio, chargez votre projet et démarrez le débogage.
1
joehanna

Tout reconstruire a fonctionné pour moi. VS2013, IIS Express.

0
JohnWrensby

Cela peut être pertinent pour un certain sous-ensemble de personnes atteintes de ce problème ... peut-être d'une autre manière.

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 de https activé sur mon iis express. Travailler correctement sur DEBUG

0
Pinch

Mon problème s'est avéré être un manque complet de compréhension de l'URI de redirection dans le processus d'authentification.

J'ai téléchargé du code contenant la déclaration suivante:

string redirecturi = " http: // localhost/googlesignin ";

J'utilisais vs2015 avec un modèle de site Web. Il n'y a pas de page Web "googlesignin" sur mon site, jamais!

Alors pourquoi cela a-t-il fonctionné pendant plusieurs jours lors du développement de mon site? 

Preuve vivante que des bogues aléatoires peuvent faire que le code fonctionne là où il aurait dû échouer.

J'ai changé googlesigin en GoogleDrive qui est le nom de ma page Web et tout a fonctionné!

Boy je suis stupide!

0
user2715390

Dans mon cas, mon collègue a changé le nom de la solution afin qu'après avoir obtenu la dernière version du projet, j'exécute mon application Web avec IIS EXPRESS, puis le message ERR_CONNECTION_REFUSED apparaisse dans Google Chrome.

Après avoir essayé toute la solution trouvée sur Internet, j'ai finalement résolu le problème en procédant comme suit:

  1. Fermer VS
  2. Supprimer le dossier .vs dans le dossier du projet  enter image description here

  3. Exécuter en tant qu'administrateur VS

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

  5. Changez le port dans l'URL du projet et n'oubliez pas d'utiliser https Parce que dans mon cas, quand j'utilise http, cela ne fonctionnait toujours pas. 

  6. Cliquez sur Create virtual directory

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

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

J'espère que cela aide.

0
Satria Janaka

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

-> Supprimez le dossier .vs (c'est un dossier caché, assurez-vous donc que vous avez activé l'option "Voir le dossier caché")
-> ouvrez visual studio et construisez votre projet. Visual studio créera un nouveau dossier .vs selon la configuration actuelle du système.

0

J'ai essayé beaucoup de 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 du contenu" qui le faisait.

0
GrowthCode

Un moyen simple de contourner le problème (cela a fonctionné pour moi) est d'utiliser l'adresse IP au lieu de localhost. Cela devrait convenir à vos tâches de développement.

0
raj240

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

  1. Fermé le Visual Studio 2017
  2. Suppression de [solutionPath] .vs\config\applicationhost.config
  3. Rouvrez la solution et cliquez sur [Créer un répertoire virtuel]
  4. J'ai essayé de courir => ERR_CONNECTION_REFUSED
  5. ÉCHOUÉ

Un autre essai: 

  1. Fermé le Visual Studio 2017
  2. Suppression de [solutionPath] .vs\config\applicationhost.config
  3. Suppression du fichier.\Documents\IISExpress\config\applicationhost.config
  4. Rouvrez la solution et cliquez sur [Créer un répertoire virtuel]
  5. J'ai essayé de courir => ERR_CONNECTION_REFUSED
  6. ÉCHOUÉ

Un autre essai:

  1. Fermé le Visual Studio 2017
  2. Suppression de [solutionPath] .vs\config\applicationhost.config
  3. Suppression du fichier.\Documents\IISExpress\config\applicationhost.config
  4. 127.0.0.1 localhost ajouté à C:\Windows\System32\drivers\etc\hosts
  5. Rouvrez la solution et cliquez sur [Créer un répertoire virtuel]
  6. J'ai essayé de courir => ERR_CONNECTION_REFUSED
  7. ÉCHOUÉ

CE QU'IL A FONCTIONNÉ:

  1. Fermez le Visual Studio 2017
  2. Supprimez le [solutionPath] .vs\config\applicationhost.config
  3. Démarrer "Gérer les certificats d'ordinateur" et Trouver le certificat "localhost" dans Personnel-> Certificats enter image description here
  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. Recherchez "IIS 10.0 Express" (ou votre propre version IIS Express).
  7. Cliquez sur "Réparer" enter image description here
  8. Rouvrez la solution et cliquez sur [Créer un répertoire virtuel]
  9. Démarrer le projet web. 
  10. Vous aurez cette question: enter image description here Cliquez sur "oui"
  11. Vous obtiendrez cette question: enter image description here Cliquez sur "oui"
  12. Maintenant ça marche.
0
Lucian

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épart". 

0
Glade Mellor

Bien que cela ne soit probablement pas lié à votre problème, j'ai eu le même problème aujourd'hui. En fin de compte, j'avais activé un module URL Rewrite pour obliger mon site à utiliser HTTPS au lieu de HTTP. Dans mon environnement de production, cela fonctionnait parfaitement. Mais sur mon système de développement, où il s'exécute en tant qu'application au sein de mon site par défaut, cela a échoué ...
En fait, mon site par défaut n’avait pas de lien pour HTTPS. Le module de réécriture m'envoyait donc de HTTP à HTTPS, mais rien n'écoutait le 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 lien approprié pour le site auquel vous essayez d'accéder ...

0
Wim ten Brink