wake-up-neo.net

Wie löse ich ERR_CONNECTION_REFUSED beim Versuch, eine Verbindung zu einem localhost herzustellen, auf dem IISExpress ausgeführt wird? - Fehler 502 (Debuggen von Visual Studio nicht möglich)?

Dies läuft unter Windows Server 2008 und wurde vor einigen Monaten verwendet. Ich verwende diesen Server gerade jetzt wieder für einige Entwicklungsarbeiten mit VS.

Dies ist ein Live-Webserver, der auch für einige Test-Sites verwendet wird.

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

Versuch, eine Site über localhost:xxxx zu starten, wenn IISExpress gestartet wurde (mit aktuellen Portnummern in der Konfiguration für den Zugriff auf verschiedene Sites):

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, versucht die meisten Dinge Ich habe gelesen, einschließlich der Änderung der managedruntimeversion von "v4.0" in "v4.0.30319" für .net 4.5 (das habe ich noch nie gemacht) und Deaktivierung des Logging-Moduls (alle Vorschläge gefunden hier ).

In meiner hosts-Datei gibt es nur zwei Einträge, die auf interne Server-IP-Adressen verweisen. Keine localhost-bezogenen IPs oder Referenzen.

Ich bin bis zu einer Neuinstallation von IIS Express und Visual Studio 2013 gegangen. Ich habe auch eine brandneue WebApplication-Site erstellt, um dies zu lösen (einfache und keine komplizierten Bindungen).

Wenn ich Fiddler hochreife, 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 capture

Ich habe alle Proxy-Einstellungen aus dem LAN-Verbindungsabschnitt des IE entfernt, wo ich vorher ein red-x-Popup in VS bekam, das etwas wie IISExpress konnte nicht starten anzeigen.

Dies ist keine Frage von SSL im Vergleich zu Nicht-SSL.

Ich hatte TFS-Server installiert - deinstalliert, falls ein paar seltsame Bindungen störten.

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

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 weg, da ich nicht so weit gehen möchte, einen neuen Server aufzustellen.

- UPDATE -

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

69
ElHaix

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

Projekteigenschaften → Web → Server → Projekt-URL:

 enter image description here

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

Hinweis: Ich bin etwas ungern bereit, dies als Antwort zu posten, da ich keine Ahnung habe, was das Problem ist oder was es verursacht hat, aber ich hatte ein ähnliches Problem und das Ändern der Port-Nummer hat den Trick für mich erledigt. Ich poste dies nur nach dem Vorschlag in den Kommentaren, dass dies auch für andere Personen funktioniert hat.

In meinem Fall schien es, als stünde ein Konflikt mit der spezifischen Portnummer, die ich verwendete, also wechselte ich zu einer anderen, und meine Website wurde sofort wieder angezeigt. Ich bin nicht sicher, was das für die alte Portnummer bedeutet oder ob ich sie jemals wieder verwenden kann. Vielleicht kann jemand, der mehr kenntnisreich ist als ich, hier etwas einbringen.

73
sǝɯɐſ

Danke für alle Antworten. Ich habe alle ausprobiert, aber keiner von ihnen hat für mich gearbeitet. Es hat jedoch geklappt, 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). Ich hoffe, das hilft jemand anderem. 

30
Annie Lagang

Dieses Problem kann darauf zurückzuführen sein, dass Sie in der letzten Zeit in Ihrer Anwendungskonfiguration die IP-Adressbindung verwendet haben.

Schritte, um das Problem zu lösen: 

  • Führen Sie den folgenden Befehl im Administrator aus, um auf das Terminal zuzugreifen

netsh http show iplisten

Wenn Sie etwas wie unten sehen, kann Ihnen diese Lösung möglicherweise nicht helfen.

IP-Adressen in der IP-Listenliste:

0,0,0,0

Wenn Sie etwas anderes als 0.0.0.0 sehen, versuchen Sie es mit den folgenden Schritten.

  • Führen Sie diese Befehle nacheinander in einem erhöhten Befehlsterminal aus

netsh http delete iplisten ipaddress = 11.22.33.44 (wobei 11.22.33.44 die tatsächliche IP ist, die entfernt werden muss)

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

Jetzt ist Ihr issexpress darauf eingestellt, jeden Ping zu hören, der zur localhost-Bindung kommt.

20

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

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

 enter image description here

Jetzt funktioniert mein localhost beim Debuggen in Visual Studio.

9
Stuart

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

4
sam

Sam's Lösung funktionierte für mich, aber ich wollte nicht als permanente Lösung als Administrator fungieren.

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. Aber es hat nicht funktioniert, dass ich meine App von einem externen Computer aus durchsuchen kann. Nah genug für mich jetzt.

3
RoyBS

In meinem Fall wurde es durch einen unendlichen Loop/Stack-Überlauf verursacht.

2
Josh

Ich habe das Problem gelöst, indem Sie unter Projekteigenschaften -> Debuggen nach dem Aktivieren von SSL die Adresse in Ihrem Browser verwenden

 enter image description here

1
DigaoParceiro

Ich habe dieses Problem durch Starten von Visual Studio mit Run as administrator gelöst. Dies ist auch erforderlich, wenn Sie Ihr Projekt im lokalen IIS veröffentlichen möchten.

Um dies dauerhaft einzustellen: -

  1. Klicken Sie mit der rechten Maustaste auf das Visual Studio-Symbol
  2. Properties auswählen
  3. Klicken Sie auf Advanced.
  4. Stellen Sie sicher, dass Run as administrator aktiviert ist
  5. Klicken Sie ganz nach außen auf OK.
  6. Starten Sie Visual Studio, laden Sie Ihr Projekt und beginnen Sie mit dem Debuggen
1
joehanna

Wiederaufbau Alle arbeiteten für mich. VS2013, IIS Express.

0
JohnWrensby

Dies kann für eine bestimmte Untergruppe von Personen mit diesem Problem relevant sein ... möglicherweise mit 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. Auf DEBUG richtig arbeiten

0
Pinch

Mein Problem stellte sich als völliges Unverständnis der Umleitungs-URI im Auth-Prozess heraus.

Ich habe Code heruntergeladen, der folgende Deklaration enthält:

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

Ich habe vs2015 mit einer Website-Vorlage verwendet. Es gibt auf meiner Website nie eine "googlesignin" -Seite!

Warum hat das während der Entwicklung meiner Website für einige Tage überhaupt funktioniert? 

Der lebende Beweis, dass zufällige Fehler dazu führen können, dass der Code dort funktioniert, wo er versagen sollte.

Ich habe googlesigin in GoogleDrive geändert. Dies ist der Name meiner Webseite und alles hat funktioniert!

Junge, ich bin dumm!

0
user2715390

In meinem Fall änderte mein Mitarbeiter den Lösungsnamen so, dass ich meine Webanwendung mit IIS EXPRESS ausführte, nachdem ich die neueste Version des Projekts erhalten habe. Dann erhielt ich die Meldung ERR_CONNECTION_REFUSED in meinem Google Chrome.

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

  1. Schließen Sie VS
  2. Löschen Sie den Ordner .vs im Projektordner  enter image description here

  3. Als Administrator VS ausführen

  4. Öffnen Sie Debug> Eigenschaften Ihrer Anwendung> Web

  5. Ändern Sie den Port in der Projekt-URL, und vergessen Sie nicht, https Zu verwenden. In meinem Fall funktionierte es mit http immer noch nicht. 

  6. Klicken Sie auf 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.

0
Satria Janaka

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

-> Löschen Sie den Ordner .vs (es ist ein versteckter Ordner, stellen Sie also sicher, dass Sie die Option zum Anzeigen eines versteckten Ordners aktiviert haben)
-> öffnen Sie das Visual Studio und erstellen Sie Ihr Projekt. Visual Studio erstellt einen neuen .vs-Ordner gemäß der aktuellen Systemkonfiguration

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

Musste die "erweiterte" Version machen, weil Standard nicht funktionierte. Ich vermute, dass es "Content Settings" war, die es machten.

0
GrowthCode

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

0
raj240

Ich hatte das gleiche Problem. Ich habe diese Schritte ausprobiert: 

  1. Das Visual Studio 2017 wurde geschlossen
  2. Die Datei [solutionPath] .vs\config\applicationhost.config wurde entfernt
  3. Lösung erneut geöffnet und auf [Virtuelles Verzeichnis erstellen] geklickt
  4. Es wurde versucht, => ERR_CONNECTION_REFUSED auszuführen
  5. GESCHEITERT

Noch ein Versuch: 

  1. Das Visual Studio 2017 wurde geschlossen
  2. Die Datei [solutionPath] .vs\config\applicationhost.config wurde entfernt
  3. Entfernte die Datei.\Documents\IISExpress\config\applicationhost.config
  4. Lösung erneut geöffnet und auf [Virtuelles Verzeichnis erstellen] geklickt
  5. Es wurde versucht, => ERR_CONNECTION_REFUSED auszuführen
  6. GESCHEITERT

Noch ein Versuch:

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

WAS ES ARBEITET:

  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" in Personal-> Certificates  enter image description here
  4. Entfernen Sie das Zertifikat (tun Sie dies auf eigene Gefahr)
  5. Starten Sie Systemsteuerung\Alle Elemente der Systemsteuerung\Programme und Funktionen
  6. Suchen Sie nach "IIS 10.0 Express" (oder Ihrer eigenen IIS Express-Version).
  7. Klicken Sie auf "Reparieren"  enter image description here
  8. Öffnen Sie die Lösung erneut und klicken Sie auf [Create Virtual Directory].
  9. Starten Sie das Webprojekt. 
  10. Sie erhalten diese Frage:  enter image description here . Klicken Sie auf "Ja".
  11. Sie erhalten diese Frage:  enter image description here . Klicken Sie auf "Ja".
  12. Jetzt gehts.
0
Lucian

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

0
Glade Mellor

Während ich wahrscheinlich nicht mit Ihrem Problem zu tun hatte, hatte ich heute das gleiche Problem. Wie sich herausstellte, hatte ich ein URL-Rewrite-Modul aktiviert, um meine Site zur Verwendung von HTTPS anstelle von HTTP zu zwingen, und in meiner Produktionsumgebung funktionierte dies einwandfrei. Auf meinem Entwicklungssystem, auf dem es als Anwendung auf meiner Standardwebsite ausgeführt wird, ist es jedoch fehlgeschlagen ...
Wie sich herausstellte, hatte meine Standardwebsite keine Bindung für HTTPS, sodass das Umschreibemodul mich von HTTP an HTTPS sendete, aber nichts auf den HTTPS-Port wartete ...
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 ...

0
Wim ten Brink