Come risolvere ERR_CONNECTION_REFUSED quando si tenta di connettersi a localhost con IISExpress - Errore 502 (Impossibile eseguire il debug da Visual Studio)?


100

Funziona su Windows Server 2008 e funzionava diversi mesi fa. Sto usando di nuovo questo server solo ora per un po 'di lavoro di sviluppo con VS.

Questo è un server web live utilizzato anche per servire alcuni siti di test.

Questo si è verificato durante l'esecuzione di Visual Studio, quindi l'avvio dei miei progetti per il debug.

Tentativo di avviare qualsiasi sito attraverso localhost:xxxxquando IISExpress è stato avviato (utilizzando il numero di porta effettivo nella configurazione per accedere a diversi siti):

This webpage is not available

ERR_CONNECTION_REFUSED

Ci sono già stato per alcuni giorni, poiché ho letto che altri hanno avuto problemi simili, ho provato la maggior parte delle cose che ho letto, incluso il passaggio managedruntimeversionda "v4.0" a "v4.0.30319" per .net 4.5 (non ho mai dovuto farlo prima) e disabilitando il modulo di registrazione (tutti i suggerimenti si trovano qui ).

Ci sono solo due voci nel mio hostsfile che puntano agli indirizzi IP del server interno. Nessun localhostIP o riferimento correlato.

Sono arrivato al punto di reinstallare IIS Express e Visual Studio 2013. Ho anche creato un WebApplicationsito nuovo di zecca per cercare di risolvere questo problema (associazioni semplici e non complicate).

Quando avvio Fiddler, vedo quanto segue sulla pagina:

[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

Cattura del violinista

Ho rimosso tutte le impostazioni del proxy dalla sezione di connessione LAN di IE, dove prima ricevevo un popup rosso-x in VS che indicava che qualcosa come IISExpress non poteva essere avviato .

Non è una questione di SSL o non SSL.

Avevo TFS Server installato - disinstallato che nel caso in cui ci fossero alcune strane associazioni che interferivano.

Ho provato a cancellare più volte la cartella di configurazione / impostazioni di IISExpress.

L'attuale applicationhost.config contiene:

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

Vorrei che ci fosse un tag per really-stuck.

Per favore suggeriscilo, dato che non voglio spingermi fino a creare un nuovo server.

-- AGGIORNARE --

Nella barra degli URL, quando inserisco il nome del computer o l'indirizzo IP: xxxx ottengo ERR_CONNECTION_TIMED_OUTinvece di ERR_CONNECTION_REFUSED.


Risposte:


100

Prova a cambiare il numero di porta nel tuo progetto?

Proprietà progetto → Web → Server → URL progetto:

inserisci qui la descrizione dell'immagine

Non dimenticare di fare clic Create Virtual Directoryo di rispondere "Sì" al prompt per la creazione della directory virtuale dopo aver modificato il numero di porta! (Grazie Connor )

Nota: sono un po 'riluttante a postare questo come risposta, poiché non ho idea di quale sia il problema o cosa lo abbia causato, ma ho avuto un problema simile e la modifica del numero di porta ha fatto il trucco per me. Sto solo postando questo per il suggerimento nei commenti che ha funzionato anche per qualcun altro.

Nel mio caso, sembrava che qualcosa fosse in conflitto con il numero di porta specifico che stavo utilizzando, quindi sono passato a uno diverso e il mio sito è saltato fuori! Non sono sicuro di cosa significhi per il vecchio numero di porta o se potrò mai usarlo di nuovo. Forse qualcuno più esperto di me può intervenire su questo.


1
questo ha funzionato per me - piuttosto che modificare le impostazioni del browser come menzionato in questa risposta stackoverflow.com/questions/7227845/…
Don Cheadle

questo ha funzionato per me. dopo aver cambiato il numero di porta, mi è stato chiesto di cambiare la mia directory virtuale, che in qualche modo era cambiata per non essere corretta.
GraehamF

Questo ha funzionato anche per me. Non ho idea di come sia successo. Ho interrotto IIS Express e alla prossima esecuzione, nient'altro che l'errore.
Joseph Ferris

1
Assicurati di fare clic su "Crea directory virtuale" dopo aver modificato il numero di porta!
Connor Williams,

Mi è appena successo di nuovo oggi! : / Anche se sono contento che il mio suggerimento sia aiutare le persone, sicuramente vorrei poter capire cosa sta andando storto.
Scorrendo

37

Grazie per tutte le risposte. Li ho provati tutti ma nessuno di loro ha funzionato per me. Ciò che ha funzionato è stato eliminare applicationhost.config dalla cartella .vs (che si trova nella cartella del progetto / soluzione) e creare una nuova directory virtuale (Proprietà del progetto> Web> Crea directory virtuale). Spero che questo possa aiutare qualcun altro.


3
Ho riscontrato lo stesso problema quando ho aperto una soluzione VS2015 in VS2013 e ci ho lavorato per un po ', quindi sono tornato a VS2015. L'eliminazione di applicationhost.config ha risolto il problema.
Gary

Nel mio caso applicationhost.config e il riavvio di Visual Studio hanno portato al "caricamento del progetto non riuscito". Allora non potevo nemmeno accedere alle proprietà del progetto.
Alex

34

Questo problema potrebbe essere dovuto al fatto che nel recente passato hai utilizzato l'associazione dell'indirizzo IP nella configurazione dell'applicazione.

Passaggi per risolvere il problema:

  • Esegui sotto il comando nel terminale dei comandi di accesso amministratore

netsh http mostra iplisten

Se vedi qualcosa come di seguito, questa soluzione potrebbe non aiutarti.

Indirizzi IP presenti nell'elenco di ascolto IP:

0.0.0.0

Se vedi qualcosa di diverso da 0.0.0.0, prova i passaggi seguenti per risolverlo.

  • Esegui il seguente comando di shell in ordine con terminale di comando elevato

netsh http elimina iplisten ipaddress = 11.22.33.44

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

  • (Qui 11.22.33.44 è l'IP effettivo che deve essere rimosso)

E ora il tuo issexpress è impostato per ascoltare qualsiasi ping in arrivo al binding localhost.


@Niraj Kumar Chauhan ha salvato il giorno gemma !! Salvagente ... Non sono sicuro di come 0.0.0.0 sia stato cancellato in primo luogo, ma aggiungerlo di nuovo ha risolto il problema.
Sethles

Dopo sette ore di ricerca del motivo per cui il server di report di Power BI non era in ascolto correttamente: i 2 secondi di questa operazione hanno risolto il problema. Grazie! La nostra configurazione esistente aveva "::" invece di 0.0.0.0; Non è la stessa cosa e / o come avrebbe potuto essere cambiato?
MattV

Hey ha funzionato! Sul mio computer, il primo comando mostrava zero indirizzi IP, quindi ho eseguito semplicemente il comando "add" e il comando "iisreset". Dopodiché, dovevo ancora ridistribuire il mio progetto e riavviare IIS una seconda volta, ma poi ha funzionato.
Mathew Alden,

20

L'ho appena risolto per la mia macchina. Forse funzionerà per alcuni. Forse non per gli altri, ma ecco cosa ha funzionato per me.

In IIS, ho dovuto aggiungere collegamenti per https al sito Web predefinito (o, suppongo, al sito Web su cui stai eseguendo l'app).

inserisci qui la descrizione dell'immagine

Ora il mio localhost funziona durante il debug da Visual Studio.


Solo per notare, un controllo per vedere se questo è il problema sta semplicemente cambiando https in http nel tuo URL, poiché il binding http dovrebbe essere già a posto.
DubDub

Questo ha risolto il problema per me. Sospetto che quando ho detto a Visual Studio di creare una seconda app sul mio server dev IIS, qualcosa deve aver eliminato i collegamenti della mia prima app.
Mathew Alden

7

Ho avuto lo stesso problema. Ho provato questi passaggi:

  1. Chiuso Visual Studio 2017
  2. Rimosso il [solutionPath] .vs \ config \ applicationhost.config
  3. Ha riaperto la soluzione e fatto clic su [Crea directory virtuale]
  4. Ho provato a eseguire => ERR_CONNECTION_REFUSED
  5. FALLITO

Un altro tentativo:

  1. Chiuso Visual Studio 2017
  2. Rimosso il [solutionPath] .vs \ config \ applicationhost.config
  3. Rimosso il file. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Ha riaperto la soluzione e fatto clic su [Crea directory virtuale]
  5. Ho provato a eseguire => ERR_CONNECTION_REFUSED
  6. FALLITO

Un altro tentativo:

  1. Chiuso Visual Studio 2017
  2. Rimosso il [solutionPath] .vs \ config \ applicationhost.config
  3. Rimosso il file. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Aggiunto 127.0.0.1 localhost a C: \ Windows \ System32 \ drivers \ etc \ hosts
  5. Ha riaperto la soluzione e fatto clic su [Crea directory virtuale]
  6. Ho provato a eseguire => ERR_CONNECTION_REFUSED
  7. FALLITO

COSA HA FUNZIONATO:

  1. Chiudi Visual Studio 2017
  2. Rimuovere il [solutionPath] .vs \ config \ applicationhost.config
  3. Avvia "Gestisci certificati computer" e individua il certificato "localhost" in Personale-> Certificati inserisci qui la descrizione dell'immagine
  4. Rimuovi quel certificato (fallo a tuo rischio)
  5. Avvia Pannello di controllo \ Tutti gli elementi del pannello di controllo \ Programmi e funzionalità
  6. Individua "IIS 10.0 Express" (o la tua versione di IIS Express)
  7. Fare clic su "Ripara" inserisci qui la descrizione dell'immagine
  8. Riaprire la soluzione e fare clic su [Crea directory virtuale]
  9. Avvia il progetto web.
  10. Otterrete questa domanda: inserisci qui la descrizione dell'immagine. Fare clic su "Sì"
  11. Otterrete questa domanda: inserisci qui la descrizione dell'immagine. Fare clic su "Sì"
  12. Ora funziona.

6

La soluzione di Sam ha funzionato per me, ma non volevo eseguire come amministratore come soluzione permanente.

Ecco come l'ho risolto nel mio caso:

  1. Esegui CMD come amministratore
  2. Digita "netsh http show urlacl" e trova l'URL riservato con la porta pertinente
  3. Digita "netsh http delete urlacl url = YourReservedUrlHere"

Dopodiché potrei eseguire la mia app senza la necessità di diritti di amministratore. Ma ha incasinato la possibilità di navigare nella mia app da un computer esterno. Abbastanza vicino per me per ora.


Grazie, ho risolto il mio problema. Dopo aver eliminato l'URL riservato, ricostruisci il progetto e poi funziona perfettamente senza la modalità di amministrazione.
Parveen

5

Nel mio caso è stato causato dall'avvio di IIS senza diritti amministrativi. Quando ho avviato IIS come amministratore e ho avviato il sito, ha funzionato bene


Questa è stata la risposta per me, anche se non ricordo di aver eseguito VS come amministratore la prima volta che ho aperto il progetto quando funzionava.
Stafford Williams

oh yea duh (schiaffi sulla fronte)
johntrepreneur

3

Nel mio caso, è stato causato da un overflow di loop / stack infinito.


1

Ho risolto questo problema avviando Visual Studio con Run as administrator . Ciò è necessario anche se si desidera pubblicare il progetto nell'IIS locale.

Per impostarlo in modo permanente: -

  1. Fare clic con il pulsante destro del mouse sull'icona di Visual Studio
  2. Selezionare Properties
  3. Clic Advanced
  4. Garantire Run as administrator sia selezionato
  5. Fare clic su OKtutto il percorso.
  6. Avvia Visual Studio, carica il tuo progetto e avvia il debug

1

Nel mio caso, il mio collega ha cambiato il nome della soluzione in modo che dopo aver ottenuto l'ultima versione del progetto, ho eseguito la mia applicazione web con IIS EXPRESS, quindi ho ricevuto il messaggio ERR_CONNECTION_REFUSED nel mio google chrome.

Dopo aver provato tutte le soluzioni che trovo su internet, finalmente ho risolto il problema con questi passaggi:

  1. Chiudi VS
  2. Elimina la .vscartella nella cartella del progettoinserisci qui la descrizione dell'immagine

  3. Esegui come amministratore VS

  4. Apri Debug> Proprietà [Applicazione]> Web

  5. Cambia la porta nell'URL del progetto e non dimenticare di usare https perché nel mio caso, quando lo uso httpancora non funzionava.

  6. Clic Create virtual directory

  7. Eseguire nuovamente l'applicazione utilizzando IIS EXPRESS.

  8. E l'applicazione web è stata eseguita correttamente.

Spero che questi aiuti.


1

Ho risolto andando su Proprietà progetto -> Debug, dopo aver abilitato SSL e utilizzare l'indirizzo nel tuo browser

inserisci qui la descrizione dell'immagine



0

Assicurati di aver specificato anche una pagina iniziale. Fai clic con il pulsante destro del mouse sulla pagina .aspx che desideri utilizzare come pagina iniziale e scegli "Imposta come pagina iniziale"


0

Una semplice soluzione (ha funzionato per me) è utilizzare l'indirizzo IP invece di localhost. Questo dovrebbe andare bene per le tue attività di sviluppo.


0

Ho provato molti metodi su Chrome, ma l'unica cosa che ha funzionato per me è stata "Cancella dati di navigazione"

Ho dovuto fare la versione "avanzata" perché lo standard non funzionava. Ho il sospetto che fosse "Impostazioni contenuto" a farlo.


0

Recentemente ho riscontrato questo problema quando copio il codice sorgente da un'altra macchina.

-> Elimina la cartella .vs (è una cartella nascosta, quindi assicurati di aver abilitato l'opzione Visualizza cartella nascosta)
-> apri Visual Studio e crea il tuo progetto. Visual Studio creerà una nuova cartella .vs in base alla configurazione di sistema corrente


0

Anche se probabilmente non è correlato al tuo problema, oggi ho avuto lo stesso problema. A quanto pare, avevo abilitato un modulo di riscrittura URL per forzare il mio sito a utilizzare HTTPS invece di HTTP e nel mio ambiente di produzione, ha funzionato perfettamente. Ma sul mio sistema di sviluppo, dove viene eseguito come un'applicazione all'interno del mio sito predefinito, non è riuscito ...
Come si è scoperto, il mio sito predefinito non aveva alcun binding per HTTPS, quindi il modulo di riscrittura mi avrebbe inviato da HTTP a HTTPS, ma niente era ascoltando la porta HTTPS ...
È possibile che tu abbia questo problema per un motivo simile. Questo errore sembra verificarsi se non esiste un'associazione appropriata per il sito a cui stai tentando di accedere ...


0

Questo può essere rilevante per un certo sottoinsieme di persone con questo problema ... forse in un sapore diverso.

Stavo forzando un reindirizzamento https su RELEASE.

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

E non c'era https abilitato sul mio iis express. Funziona correttamente su DEBUG


0

Stavo semplicemente cercando di Bind IP con IIS ma ho finito per fare confusione con i file di configurazione di IIS Ho letteralmente provato 20+ soluzioni per questo, che include

  1. .vs eliminazione di file di una soluzione di progetto
  2. Eliminazione del file di configurazione della cartella IIS
  3. Eliminazione della cartella IIS
  4. Aggiornamento VS2019
  5. Riparazione VS2019
  6. Innumerevoli volte la macchina e il VS si riavvia
  7. vari comandi su CMS
  8. vari aggiornamenti software
  9. Diverse porte cambiano

ma ciò che ha funzionato che potrebbe funzionare anche per qualcun altro è stato per REPAIRIIS da

Control Panel\Programs\Programs and Features

Altrimenti è possibile fare riferimento a questa risposta così

Riparazione IIS10


0

Assicurati che il debug degli script sia disabilitato

inserisci qui la descrizione dell'immagine

Lo ricevevo in modo intermittente nonostante avessi provato molti dei suggerimenti di cui sopra. Non appena l'ho disabilitato, il debug del mio sito ha funzionato come un sogno. (Penso di averlo acceso solo per caso, o forse in una vita precedente).


0

Se si utilizza IIS "reale", ciò può verificarsi se il servizio W3SVC (World Wide Web Publishing) viene arrestato.

Dovrebbe sembrare ovvio, ma se hai interrotto accidentalmente il servizio o lo hai impostato su manuale, questo potrebbe accadere a te.

So che il titolo dice IIS express, tuttavia Google non sembra filtrare l'espresso anche quando si utilizza un suggerimento -Express, quindi si spera che questo aiuti qualcun altro che ha trovato questa pagina invece di una specifica IIS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.