Wie kann ERR_CONNECTION_REFUSED gelöst werden, wenn versucht wird, eine Verbindung zu localhost herzustellen, auf dem IISExpress ausgeführt wird - Fehler 502 (Debuggen in Visual Studio nicht möglich)?

98

Dies läuft unter Windows Server 2008 und hat vor einigen Monaten funktioniert. Ich benutze diesen Server gerade wieder für einige Entwicklungsarbeiten mit VS.

Dies ist ein Live-Webserver, auf dem auch einige Testseiten bereitgestellt werden.

Dies trat auf, als Visual Studio ausgeführt und dann meine Projekte zum Debuggen gestartet wurde.

Der Versuch, eine Site zu starten, localhost:xxxxnachdem IISExpress gestartet wurde (unter Verwendung der tatsächlichen Portnummern in der Konfiguration, um auf verschiedene Sites zuzugreifen):

This webpage is not available

ERR_CONNECTION_REFUSED

Ich bin schon seit ein paar Tagen dabei, da ich gelesen habe, dass andere ähnliche Probleme hatten, die meisten Dinge ausprobiert habe, die ich gelesen habe, einschließlich der Änderung managedruntimeversionvon "v4.0" in "v4.0.30319" für .net 4.5 (ich habe es nie getan) musste dies vorher tun) und das Protokollierungsmodul deaktivieren (alle Vorschläge finden Sie hier ).

Meine hostsDatei enthält nur zwei Einträge , die auf interne Server-IP-Adressen verweisen. Keine localhostverwandten IPs oder Referenzen.

Ich bin so weit gegangen, IIS Express und Visual Studio 2013 neu zu installieren. Außerdem habe ich eine brandneue WebApplicationSite erstellt, um dies zu beheben (einfache und keine anderen komplizierten Bindungen).

Wenn ich Fiddler hochfahre, sehe ich Folgendes auf der Seite:

[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 Gefangennahme

Ich habe alle Proxy-Einstellungen aus dem LAN-Verbindungsbereich des IE entfernt, in dem zuvor ein Red-X- Popup in VS angezeigt wurde, das darauf hinweist, dass IISExpress nicht gestartet werden konnte .

Dies ist keine Frage von SSL oder Nicht-SSL.

Ich hatte TFS Server installiert - deinstalliert, falls es einige merkwürdige Bindungen gab, die störten.

Ich habe mehrmals versucht, den IISExpress-Ordner config / settings zu löschen.

Die aktuelle applicationhost.config enthält:

<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" />

Ich wünschte, es gäbe einen Tag für really-stuck.

Bitte schlagen Sie vor, da ich nicht so weit gehen möchte, einen neuen Server hochzufahren.

- UPDATE -

Wenn ich in der URL-Leiste den Computernamen oder die IP-Adresse eingebe: xxxx, erhalte ich ERR_CONNECTION_TIMED_OUTeher das als ERR_CONNECTION_REFUSED.

ElHaix
quelle

Antworten:

100

Versuchen Sie, die Portnummer in Ihrem Projekt zu ändern?

Projekteigenschaften → Web → Server → Projekt-URL:

Geben Sie hier die Bildbeschreibung ein

Vergessen Sie nicht, auf Create Virtual Directorydie Eingabeaufforderung zum Erstellen eines virtuellen Verzeichnisses zu klicken oder mit "Ja" zu antworten, nachdem Sie Ihre Portnummer geändert haben! (Danke Connor )

Hinweis: Ich zögere ein wenig, dies als Antwort zu veröffentlichen, da ich keine Ahnung habe, was das Problem ist oder was es verursacht hat, aber ich hatte ein ähnliches Problem, und das Ändern der Portnummer hat den Trick für mich getan. Ich poste dies nur gemäß dem Vorschlag in den Kommentaren, dass dies auch für jemand anderen funktioniert hat.

In meinem Fall schien etwas mit der von mir verwendeten Portnummer in Konflikt zu stehen, also habe ich zu einer anderen gewechselt und meine Website ist sofort wieder aufgetaucht! Ich bin mir nicht sicher, was das für die alte Portnummer bedeutet oder ob ich sie jemals wieder verwenden kann. Vielleicht kann sich jemand, der besser informiert ist als ich, darauf einlassen.

sǝɯɐſ
quelle
1
Dies funktionierte für mich - anstatt die Browsereinstellungen zu ändern,
Don Cheadle
das hat bei mir funktioniert. Nachdem ich die Portnummer geändert hatte, wurde ich aufgefordert, mein virtuelles Verzeichnis zu ändern, das sich irgendwie geändert hatte, um falsch zu sein.
GraehamF
Das hat auch bei mir funktioniert. Keine Ahnung wie es passiert ist. Ich habe IIS Express gestoppt und beim nächsten Start nur den Fehler.
Joseph Ferris
1
Stellen Sie sicher, dass Sie auf "Virtuelles Verzeichnis erstellen" klicken, nachdem Sie Ihre Portnummer geändert haben!
Connor Williams
Hatte mir das heute wieder passiert! : / Obwohl ich froh bin, dass mein Vorschlag Menschen hilft, wünschte ich mir, ich könnte herausfinden, was falsch läuft. Langsam durch nutzbare Portnummern hier
drüben
36

Danke für alle Antworten. Ich habe alle ausprobiert, aber keiner hat für mich gearbeitet. Es funktionierte, die Datei applicationhost.config aus dem Ordner .vs (im Ordner Ihres Projekts / Ihrer Lösung) zu löschen und ein neues virtuelles Verzeichnis zu erstellen (Projekteigenschaften> Web> Virtuelles Verzeichnis erstellen). Hoffe, das wird jemand anderem helfen.

Annie Lagang
quelle
3
Ich bin auf dasselbe Problem gestoßen, als ich eine VS2015-Lösung in VS2013 geöffnet und eine Weile daran gearbeitet habe und dann zu VS2015 zurückgekehrt bin. Das Löschen der applicationhost.config hat das Problem behoben.
Gary.Ray
In meinem Fall führte applicationhost.config und ein Neustart von Visual Studio zu "Projektladen fehlgeschlagen". Ich konnte damals nicht einmal auf Projekteigenschaften zugreifen.
Alex
34

Dieses Problem kann daran liegen, dass Sie in der jüngeren Vergangenheit in Ihrer Anwendungskonfiguration die IP-Adressbindung verwendet haben.

Schritte zur Lösung des Problems:

  • Führen Sie den folgenden Befehl im Administratorzugriffsbefehlsterminal aus

netsh http show iplisten

Wenn Sie etwas wie das Folgende sehen, hilft Ihnen diese Lösung möglicherweise nicht weiter.

In der IP-Listen enthaltene IP-Adressen:

0.0.0.0

Wenn Sie etwas anderes als 0.0.0.0 sehen, versuchen Sie die folgenden Schritte, um dies zu beheben.

  • Führen Sie den folgenden Shell-Befehl in der Reihenfolge mit dem erhöhten Befehlsterminal aus

netsh http delete iplisten ipaddress = 11.22.33.44

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

  • (Hier ist 11.22.33.44 die tatsächliche IP, die entfernt werden muss)

Und jetzt ist Ihr issexpress so eingestellt, dass er jeden Ping hört, der zur Bindung von localhost kommt.

Niraj Kumar Chauhan
quelle
@ Niraj Kumar Chauhan rettete den Tag Knospe !! Lebensretter ... Ich bin mir nicht sicher, wie 0.0.0.0 überhaupt gelöscht wurde, aber durch erneutes Hinzufügen wurde das Problem behoben.
Sethles
Nach sieben Stunden Suche nach dem Grund, warum Power BI Report Server nicht richtig abgehört hat: Die 2 Sekunden, in denen dies durchgeführt wurde, haben das Problem behoben. Vielen Dank! Unsere vorhandene Konfiguration hatte '::' anstelle von 0.0.0.0; Ist das nicht dasselbe und / oder wie hätte dies geändert werden können?
MattV
Hey es hat funktioniert! Auf meinem Computer zeigte der erste Befehl keine IP-Adressen an, daher habe ich einfach den Befehl "add" und den Befehl "iisreset" ausgeführt. Danach musste ich mein Projekt noch einmal erneut bereitstellen und IIS ein zweites Mal neu starten, aber dann funktionierte es.
Mathew Alden
20

Ich habe das gerade für meine Maschine behoben. Vielleicht funktioniert es für einige. Vielleicht nicht für andere, aber hier ist, was für mich funktioniert hat.

In IIS musste ich der Standardwebsite (oder vermutlich der Website, unter der Sie die App ausführen) Bindungen für https hinzufügen.

Geben Sie hier die Bildbeschreibung ein

Jetzt funktioniert mein localhost beim Debuggen in Visual Studio.

Stuart
quelle
Nur um zu beachten, eine Überprüfung, ob dies das Problem ist, ändert einfach https in http in Ihrer URL, da die http-Bindung bereits vorhanden sein sollte.
DubDub
Das hat es für mich behoben. Ich vermute, als ich Visual Studio angewiesen habe, eine zweite App auf meinem Entwickler-IIS-Server zu erstellen, muss etwas die Bindungen meiner ersten App gelöscht haben.
Mathew Alden
7

Ich hatte das gleiche Problem. Ich habe folgende Schritte versucht:

  1. Visual Studio 2017 geschlossen
  2. Die Datei [solutionPath] .vs \ config \ applicationhost.config wurde entfernt
  3. Öffnen Sie die Lösung erneut und klicken Sie auf [Virtuelles Verzeichnis erstellen].
  4. Versucht auszuführen => ERR_CONNECTION_REFUSED
  5. GESCHEITERT

Noch ein Versuch:

  1. Visual Studio 2017 geschlossen
  2. Die Datei [solutionPath] .vs \ config \ applicationhost.config wurde entfernt
  3. Die Datei. \ Documents \ IISExpress \ config \ applicationhost.config wurde entfernt
  4. Öffnen Sie die Lösung erneut und klicken Sie auf [Virtuelles Verzeichnis erstellen].
  5. Versucht auszuführen => ERR_CONNECTION_REFUSED
  6. GESCHEITERT

Noch ein Versuch:

  1. Visual Studio 2017 geschlossen
  2. Die Datei [solutionPath] .vs \ config \ applicationhost.config wurde entfernt
  3. Die Datei. \ Documents \ IISExpress \ config \ applicationhost.config wurde entfernt
  4. 127.0.0.1 localhost zu C: \ Windows \ System32 \ drivers \ etc \ hosts hinzugefügt
  5. Öffnen Sie die Lösung erneut und klicken Sie auf [Virtuelles Verzeichnis erstellen].
  6. Versucht auszuführen => ERR_CONNECTION_REFUSED
  7. GESCHEITERT

WAS ES FUNKTIONIERTE:

  1. Schließen Sie das Visual Studio 2017
  2. Entfernen Sie die Datei [solutionPath] .vs \ config \ applicationhost.config
  3. Starten Sie "Computerzertifikate verwalten" und suchen Sie das Zertifikat "localhost" unter "Personal-> Zertifikate" Geben Sie hier die Bildbeschreibung ein
  4. Entfernen Sie dieses Zertifikat (tun Sie dies auf eigenes Risiko)
  5. Starten Sie die Systemsteuerung \ Alle Elemente der Systemsteuerung \ Programme und Funktionen
  6. Suchen Sie "IIS 10.0 Express" (oder Ihre eigene IIS Express-Version).
  7. Klicken Sie auf "Reparieren" Geben Sie hier die Bildbeschreibung ein
  8. Öffnen Sie die Lösung erneut und klicken Sie auf [Virtuelles Verzeichnis erstellen].
  9. Starten Sie das Webprojekt.
  10. Sie erhalten diese Frage : Geben Sie hier die Bildbeschreibung ein. Klicken Sie auf "Ja"
  11. Sie erhalten diese Frage : Geben Sie hier die Bildbeschreibung ein. Klicken Sie auf "Ja"
  12. Jetzt gehts.
Lucian
quelle
6

Sams Lösung funktionierte für mich, aber ich wollte nicht als Administrator als permanente Lösung ausgeführt werden.

So habe ich es in meinem Fall gelöst:

  1. Führen Sie CMD als Administrator aus
  2. Geben Sie "netsh http show urlacl" ein und suchen Sie die reservierte URL mit dem entsprechenden Port
  3. Geben Sie "netsh http delete urlacl url = YourReservedUrlHere" ein.

Danach konnte ich meine App ohne Administratorrechte ausführen. Die Möglichkeit, von einem externen Computer aus zu meiner App zu navigieren, wurde jedoch beeinträchtigt. Vorerst nah genug für mich.

RoyBS
quelle
Danke, mein Problem gelöst. Nachdem Sie die reservierte URL gelöscht haben, erstellen Sie das Projekt neu und es funktioniert einwandfrei ohne Admin-Modus.
Parveen
5

In meinem Fall wurde dies durch das Starten von IIS ohne Administratorrechte verursacht. Als ich IIS als Administrator startete und die Site startete, funktionierte es einwandfrei

Sam
quelle
Dies war die Antwort für mich, obwohl ich mich nicht daran erinnere, VS als Administrator ausgeführt zu haben, als ich das Projekt zum ersten Mal öffnete, als es funktionierte.
Stafford Williams
oh yea duh (
Ohrfeigen
3

In meinem Fall wurde es durch einen Endlosschleifen- / Stapelüberlauf verursacht.

Josh
quelle
1

Ich habe dieses Problem gelöst, indem ich Visual Studio mit gestartet habe Run as administrator. Dies ist auch erforderlich, wenn Sie Ihr Projekt auf dem lokalen IIS veröffentlichen möchten.

So stellen Sie dies dauerhaft ein: -

  1. Klicken Sie mit der rechten Maustaste auf das Visual Studio-Symbol
  2. Wählen Properties
  3. Klicken Advanced
  4. Stellen Sie sicher, dass aktiviert Run as administratorist
  5. Klicken Sie OKganz auf.
  6. Starten Sie Visual Studio, laden Sie Ihr Projekt und starten Sie das Debuggen
Joehanna
quelle
1

In meinem Fall hat mein Mitarbeiter den Lösungsnamen so geändert, dass ich nach Erhalt der neuesten Version des Projekts meine Webanwendung mit IIS EXPRESS ausführe und dann die Nachricht ERR_CONNECTION_REFUSEDin meinem Google Chrome erhalte.

Nachdem ich alle Lösungen ausprobiert habe, die ich im Internet finde, habe ich das Problem mit den folgenden Schritten gelöst:

  1. Schließen Sie VS
  2. Löschen Sie den .vsOrdner im ProjektordnerGeben Sie hier die Bildbeschreibung ein

  3. Als Administrator VS ausführen

  4. Öffnen Sie Debug> [Ihre Anwendung] Eigenschaften> Web

  5. Ändern Sie den Port in der Projekt-URL und vergessen Sie nicht, ihn zu verwenden, https da er in meinem Fall httpimmer noch nicht funktioniert hat.

  6. Klicken Create virtual directory

  7. Führen Sie die Anwendung erneut mit IIS EXPRESS aus.

  8. Und die Webanwendung wurde erfolgreich ausgeführt.

Hoffe das hilft.

Satria Janaka
quelle
1

Ich habe das Problem gelöst, indem ich zu Projekteigenschaften -> Debuggen gegangen bin, nachdem ich SSL aktiviert und die Adresse in Ihrem Browser verwendet habe

Geben Sie hier die Bildbeschreibung ein

DigaoParceiro
quelle
0

Wiederaufbau Alles hat für mich funktioniert. VS2013, IIS Express.

JohnWrensby
quelle
0

Stellen Sie sicher, dass auch eine Startseite angegeben ist. Klicken Sie mit der rechten Maustaste auf die ASPX-Seite, die Sie als Startseite verwenden möchten, und wählen Sie "Als Startseite festlegen".

Lichtung Mellor
quelle
0

Eine einfache Lösung (es hat bei mir funktioniert) ist die Verwendung der IP-Adresse anstelle von localhost. Dies sollte für Ihre Entwicklungsaufgaben in Ordnung sein.

raj240
quelle
0

Ich habe viele Methoden in Chrome ausprobiert, aber das einzige, was für mich funktioniert hat, war "Browserdaten löschen".

Musste die "erweiterte" Version machen, weil Standard nicht funktionierte. Ich vermute, es waren "Inhaltseinstellungen" , die dies taten.

Wachstumscode
quelle
0

Dieses Problem tritt kürzlich auf, wenn ich den Quellcode von einem anderen Computer kopiere.

-> Löschen Sie den Ordner .vs (es handelt sich um einen versteckten Ordner. Stellen Sie daher sicher, dass Sie die Option zum Anzeigen versteckter Ordner aktiviert haben).
-> Öffnen Sie Visual Studio und erstellen Sie Ihr Projekt. Visual Studio erstellt einen neuen .vs-Ordner gemäß der aktuellen Systemkonfiguration

Allgegenwärtige Entwickler
quelle
0

Obwohl es wahrscheinlich nicht mit Ihrem Problem zusammenhängt, hatte ich heute das gleiche Problem. Wie sich herausstellte, hatte ich ein URL-Rewrite-Modul aktiviert, um meine Site zu zwingen, HTTPS anstelle von HTTP zu verwenden, und in meiner Produktionsumgebung funktionierte dies einwandfrei. Aber auf meinem Entwicklungssystem, auf dem es als Anwendung auf meiner Standardwebsite ausgeführt wird, ist es fehlgeschlagen ...
Wie sich herausstellte, hatte meine Standardwebsite keine Bindung für HTTPS, sodass das Umschreibemodul mich von HTTP zu HTTPS schickte, aber nichts Abhören des HTTPS-Ports ...
Es besteht die Möglichkeit, dass Sie dieses Problem aus einem ähnlichen Grund haben. Dieser Fehler scheint aufzutreten, wenn für die Site, auf die Sie zugreifen möchten, keine ordnungsgemäße Bindung vorhanden ist ...

Wim zehn Brink
quelle
0

Dies kann für eine bestimmte Untergruppe von Personen mit diesem Problem relevant sein ... möglicherweise in einem anderen Geschmack.

Ich habe eine https-Weiterleitung für RELEASE erzwungen.

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

Und auf meinem iis express war kein https aktiviert. Funktioniert korrekt mit DEBUG

Prise
quelle
0

Ich habe einfach versucht, IP mit IIS zu binden, aber am Ende habe ich mit IIS-Konfigurationsdateien herumgespielt. Ich habe buchstäblich mehr als 20 Lösungen dafür ausprobiert, einschließlich

  1. Löschen einer .vs-Datei einer Projektlösung
  2. Löschen der Konfigurationsdatei des IIS-Ordners
  3. Löschen des IIS-Ordners
  4. VS2019-Aktualisierung
  5. VS2019 reparieren
  6. Unzählige Male Maschine und VS neu starten
  7. verschiedene Befehle auf CMS
  8. verschiedene Software-Updates
  9. Verschiedene Ports ändern sich

Aber was funktionierte, was auch für jemand anderen funktionieren könnte, war REPAIRIIS von

Control Panel\Programs\Programs and Features

Sonst können Sie sich auf diese Antwort auch

IIS10-Reparatur

Chamäleon
quelle
0

Stellen Sie sicher, dass das Skript-Debugging deaktiviert ist

Geben Sie hier die Bildbeschreibung ein

Ich bekam dies zeitweise, obwohl ich einige der oben genannten Vorschläge ausprobiert hatte. Sobald ich dies deaktiviert hatte, funktionierte das Debuggen meiner Website wie ein Traum. (Ich glaube, ich habe es nur aus Versehen oder vielleicht in einem früheren Leben eingeschaltet).

hnodrog
quelle
0

Wenn Sie "echtes" IIS verwenden, kann dies auftreten, wenn der W3SVC-Dienst (World Wide Web Publishing) gestoppt wird.

Sollte offensichtlich erscheinen, aber wenn Sie den Dienst versehentlich beendet oder manuell eingestellt haben, kann dies Ihnen passieren.

Ich weiß, dass der Titel IIS Express sagt, aber Google scheint den Express nicht herauszufiltern, selbst wenn ein -Express-Hinweis verwendet wird. Hoffentlich hilft dies jemand anderem, der diese Seite anstelle einer IIS-spezifischen gefunden hat.

Justin
quelle