¿Cómo resolver ERR_CONNECTION_REFUSED al intentar conectarse a localhost ejecutando IISExpress - Error 502 (No se puede depurar desde Visual Studio)?

98

Esto se ejecuta en Windows Server 2008 y solía funcionar hace varios meses. Ahora estoy usando este servidor nuevamente para un trabajo de desarrollo con VS.

Este es un servidor web en vivo que también se utiliza para ofrecer algunos sitios de prueba.

Esto surgió al ejecutar Visual Studio y luego lanzar mis proyectos para la depuración.

Intentando iniciar cualquier sitio localhost:xxxxcuando se haya iniciado IISExpress (usando los números de puerto reales en la configuración para acceder a diferentes sitios):

This webpage is not available

ERR_CONNECTION_REFUSED

Ya he estado en esto durante unos días, ya que he leído que otros han tenido problemas similares, probé la mayoría de las cosas que he leído, incluido el cambio managedruntimeversionde "v4.0" a "v4.0.30319" para .net 4.5 (nunca he tenía que hacer esto antes) y deshabilitar el módulo de registro (todas las sugerencias se encuentran aquí ).

Solo hay dos entradas en mi hostsarchivo que apuntan a direcciones IP del servidor interno. No localhosthay referencias ni IP relacionadas.

Llegué a reinstalar IIS Express y Visual Studio 2013. También creé un WebApplicationsitio nuevo para tratar de resolver esto (enlaces simples y no complicados).

Cuando hago girar Fiddler, veo lo siguiente en la página:

[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

Captura de violinista

Eliminé todas las configuraciones de proxy de la sección de conexión LAN de IE, donde antes recibía una ventana emergente roja-x en VS que indicaba que algo como IISExpress no se podía iniciar .

No se trata de SSL frente a no SSL.

Tenía el servidor TFS instalado; lo desinstalé en caso de que hubiera algunos enlaces extraños que estuvieran interfiriendo.

Intenté eliminar la carpeta de configuración / configuración de IISExpress varias veces.

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

Ojalá hubiera una etiqueta para really-stuck.

Sugiera algo, ya que no quiero ir tan lejos como para crear un nuevo servidor.

- ACTUALIZAR -

En la barra de URL, cuando ingreso el nombre de la computadora o la dirección IP: xxxx obtengo el en ERR_CONNECTION_TIMED_OUTlugar de ERR_CONNECTION_REFUSED.

ElHaix
fuente

Respuestas:

100

¿Intente cambiar el número de puerto en su proyecto?

Propiedades del proyecto → Web → Servidores → URL del proyecto:

ingrese la descripción de la imagen aquí

¡No olvide hacer clic Create Virtual Directoryo responder "Sí" al mensaje para crear un directorio virtual después de cambiar su número de puerto! (Gracias Connor )

Nota: Soy un poco reacio a publicar esto como respuesta, ya que no tengo idea de cuál es el problema o qué lo causó, pero tuve un problema similar, y cambiar el número de puerto funcionó. Solo estoy publicando esto según la sugerencia en los comentarios de que esto también funcionó para otra persona.

En mi caso, parecía que algo estaba en conflicto con el número de puerto específico que estaba usando, así que cambié a uno diferente, ¡y mi sitio volvió a aparecer! No estoy seguro de qué significa eso para el número de puerto anterior, o si alguna vez podré usarlo nuevamente. Quizás alguien con más conocimientos que yo pueda intervenir en esto.

sǝɯɐſ
fuente
1
esto funcionó para mí, en lugar de modificar la configuración del navegador como se menciona en esta respuesta stackoverflow.com/questions/7227845/…
Don Cheadle
esto funcionó para mí. después de cambiar el número de puerto, se me pidió que cambiara mi directorio virtual, que de alguna manera había cambiado para ser incorrecto.
GraehamF
Esto funcionó para mí también. No tengo idea de cómo sucedió. Detuve IIS Express y, en la siguiente ejecución, nada más que el error.
Joseph Ferris
1
¡Asegúrese de hacer clic en 'Crear directorio virtual' después de cambiar su número de puerto!
Connor Williams
¡Me acaba de pasar esto de nuevo hoy! : / Aunque me alegro de que mi sugerencia ayude a la gente, desearía poder averiguar qué está fallando.
Pasando
36

Gracias por todas las respuestas. Probé todos, pero ninguno funcionó para mí. Lo que sí funcionó fue eliminar el applicationhost.config de la carpeta .vs (que se encuentra en la carpeta de su proyecto / solución) y crear un nuevo directorio virtual (Propiedades del proyecto> Web> Crear directorio virtual). Espero que esto ayude a alguien más.

Annie Lagang
fuente
3
Me encontré con el mismo problema cuando abrí una solución VS2015 en VS2013 y trabajé en ella por un tiempo y luego volví a VS2015. Eliminar el applicationhost.config lo resolvió.
Gary.Ray
En mi caso, applicationhost.config y reiniciar Visual Studio llevaron a "la carga del proyecto falló". Entonces ni siquiera podía acceder a las propiedades del proyecto.
Alex
34

Este problema puede deberse a que recientemente ha utilizado el enlace de direcciones IP en la configuración de su aplicación.

Pasos para resolver el problema:

  • Ejecute el siguiente comando en el terminal de comando de acceso de administrador

netsh http mostrar iplisten

Si ve algo como a continuación, es posible que esta solución no lo ayude.

Direcciones IP presentes en la lista de escucha de IP:

0.0.0.0

Si ve algo diferente a 0.0.0.0, intente los pasos a continuación para solucionarlo.

  • Ejecute el siguiente comando de shell en orden con el terminal de comando elevado

netsh http eliminar iplisten ipaddress = 11.22.33.44

netsh http agregar iplisten ipaddress = 0.0.0.0

iisreset

  • (Aquí 11.22.33.44 es la IP real que debe eliminarse)

Y ahora su issexpress está configurado para escuchar cualquier ping que llegue al enlace localhost.

Niraj Kumar Chauhan
fuente
@Niraj Kumar Chauhan salvó el brote del día !! Lifesaver ... No estoy seguro de cómo se eliminó 0.0.0.0 en primer lugar, pero agregarlo resolvió el problema.
Sethles
Después de siete horas de buscar por qué Power BI Report Server no escuchaba correctamente: los 2 segundos de hacerlo lo solucionaron. ¡Gracias! Nuestra configuración existente tenía '::' en lugar de 0.0.0.0; ¿No es esto lo mismo y / o cómo podría haberse cambiado?
MattV
¡Oye funcionó! En mi computadora, el primer comando mostró cero direcciones IP, así que simplemente ejecuté el comando "agregar" y el comando "iisreset". Después de eso, todavía necesitaba volver a implementar mi proyecto y reiniciar IIS por segunda vez, pero luego funcionó.
Mathew Alden
20

Acabo de arreglar esto para mi máquina. Quizás funcione para algunos. Quizás no para otros, pero esto es lo que funcionó para mí.

En IIS, tuve que agregar enlaces para https al sitio web predeterminado (o, supongo, al sitio web en el que está ejecutando la aplicación).

ingrese la descripción de la imagen aquí

Ahora mi localhost funciona al depurar desde Visual Studio.

Stuart
fuente
Solo para tener en cuenta, una verificación para ver si este es el problema es simplemente cambiar https a http en su URL, ya que el enlace http ya debería estar en su lugar.
DubDub
Esto me lo arregló. Sospecho que cuando le dije a Visual Studio que creara una segunda aplicación en mi servidor IIS de desarrollo, algo debió haber eliminado los enlaces de mi primera aplicación.
Mathew Alden
7

Yo tuve el mismo problema. Probé estos pasos:

  1. Cerró el Visual Studio 2017
  2. Se eliminó [solutionPath] .vs \ config \ applicationhost.config
  3. Reabrió la solución e hizo clic en [Crear directorio virtual]
  4. Intenté ejecutar => ERR_CONNECTION_REFUSED
  5. HA FALLADO

Otro intento:

  1. Cerró el Visual Studio 2017
  2. Se eliminó [solutionPath] .vs \ config \ applicationhost.config
  3. Se eliminó. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Reabrió la solución e hizo clic en [Crear directorio virtual]
  5. Intenté ejecutar => ERR_CONNECTION_REFUSED
  6. HA FALLADO

Otro intento:

  1. Cerró el Visual Studio 2017
  2. Se eliminó [solutionPath] .vs \ config \ applicationhost.config
  3. Se eliminó. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Se agregó 127.0.0.1 localhost a C: \ Windows \ System32 \ drivers \ etc \ hosts
  5. Reabrió la solución e hizo clic en [Crear directorio virtual]
  6. Intenté ejecutar => ERR_CONNECTION_REFUSED
  7. HA FALLADO

LO QUE FUNCIONÓ:

  1. Cerrar Visual Studio 2017
  2. Elimine [solutionPath] .vs \ config \ applicationhost.config
  3. Inicie "Administrar certificados de computadora" y busque el certificado "localhost" en Personal-> Certificados ingrese la descripción de la imagen aquí
  4. Elimine ese certificado (haga esto bajo su propio riesgo)
  5. Inicio Panel de control \ Todos los elementos del panel de control \ Programas y características
  6. Busque "IIS 10.0 Express" (o su propia versión de IIS Express)
  7. Haga clic en "Reparar" ingrese la descripción de la imagen aquí
  8. Vuelva a abrir la solución y haga clic en [Crear directorio virtual]
  9. Inicie el proyecto web.
  10. Usted recibirá esta pregunta: ingrese la descripción de la imagen aquí. Haga clic en "Sí"
  11. Usted recibirá esta pregunta: ingrese la descripción de la imagen aquí. Haga clic en "Sí"
  12. Ahora funciona.
Lucian
fuente
6

La solución de Sam funcionó para mí, pero no quería ejecutarme como administrador como una solución permanente.

Así lo resolví en mi caso:

  1. Ejecutar CMD como administrador
  2. Escriba "netsh http show urlacl" y busque la URL reservada con el puerto correspondiente.
  3. Escriba "netsh http delete urlacl url = YourReservedUrlHere"

Después de eso, pude ejecutar mi aplicación sin la necesidad de derechos de administrador. Pero sí jugó con la capacidad de navegar a mi aplicación desde una computadora externa. Lo suficientemente cerca para mí por ahora.

RoyBS
fuente
Gracias, resolvió mi problema. Después de eliminar la URL reservada, reconstruya el proyecto y luego funcionará perfectamente sin el modo Administrador.
Parveen
5

En mi caso, fue causado por iniciar IIS sin derechos administrativos. Cuando lancé IIS como administrador y comencé el sitio, funcionó bien

sam
fuente
Esta fue la respuesta para mí, aunque no recuerdo haber ejecutado VS como administrador la primera vez que abrí el proyecto cuando funcionó.
Stafford Williams
oh sí duh (golpea la frente)
johntrepreneur
3

En mi caso, fue causado por un bucle infinito / desbordamiento de pila.

Josh
fuente
1

Resolví este problema iniciando Visual Studio con Run as administrator. Esto también es necesario si desea publicar su proyecto en el IIS local.

Para configurar esto permanentemente: -

  1. Haga clic derecho en el icono de Visual Studio
  2. Seleccione Properties
  3. Hacer clic Advanced
  4. Asegúrese de que Run as administratoresté marcado
  5. Haga clic en OKtodo el camino.
  6. Inicie Visual Studio, cargue su proyecto y comience a depurar
joehanna
fuente
1

En mi caso, mi compañero de trabajo cambió el nombre de la solución de modo que después de obtener la última versión del proyecto, ejecuto mi aplicación web con IIS EXPRESS, luego recibí el mensaje ERR_CONNECTION_REFUSEDen mi Google Chrome.

Después de probar toda la solución que encuentro en Internet, finalmente resolví el problema con estos pasos:

  1. Cerrar VS
  2. Eliminar la .vscarpeta en la carpeta del proyectoingrese la descripción de la imagen aquí

  3. Ejecutar como administrador VS

  4. Abra Depurar> Propiedades de [su aplicación]> Web

  5. Cambie el puerto en la URL del proyecto y no olvide usarlo https porque en mi caso, cuando lo estoy usando httptodavía no funcionaba.

  6. Hacer clic Create virtual directory

  7. Ejecute la aplicación nuevamente usando IIS EXPRESS.

  8. Y la aplicación web se ejecutó correctamente.

Espero que esto ayude.

Satria Janaka
fuente
1

Lo resolví yendo a Propiedades del proyecto -> Depurar, después de habilitar SSL y usar la dirección en su navegador

ingrese la descripción de la imagen aquí

DigaoParceiro
fuente
0

Reconstruir todo funcionó para mí. VS2013, IIS Express.

JohnWrensby
fuente
0

Asegúrate de tener también una página de inicio especificada. Haga clic con el botón derecho en la página .aspx que desea utilizar como página de inicio y seleccione "Establecer como página de inicio".

Glade Mellor
fuente
0

Una solución simple (funcionó para mí) es usar la dirección IP en lugar de localhost. Esto debería estar bien para sus tareas de desarrollo.

raj240
fuente
0

Probé muchos métodos en Chrome, pero lo único que me funcionó fue "Borrar datos de navegación".

Tuve que hacer la versión "avanzada" porque el estándar no funcionaba. Sospecho que fue "Configuración de contenido" lo que lo hizo.

GrowthCode
fuente
0

Recientemente encontré este problema cuando copio el código fuente de otra máquina.

-> Elimine la carpeta .vs (es una carpeta oculta, así que asegúrese de haber habilitado la opción de vista de carpeta oculta)
-> abra Visual Studio y cree su proyecto. Visual Studio creará una nueva carpeta .vs según la configuración actual del sistema

Desarrolladores ubicuos
fuente
0

Aunque probablemente no esté relacionado con su problema, tuve el mismo problema hoy. Resulta que había habilitado un módulo de reescritura de URL para forzar a mi sitio a usar HTTPS en lugar de HTTP y en mi entorno de producción, esto funcionó bien. Pero en mi sistema de desarrollo, donde se ejecuta como una aplicación dentro de mi sitio predeterminado, falló ...
Como resultado, mi sitio predeterminado no tenía enlace para HTTPS, por lo que el módulo de reescritura me enviaría de HTTP a HTTPS, pero nada fue escuchando el puerto HTTPS ...
Existe la posibilidad de que tenga este problema por una razón similar. Este error parece ocurrir si no hay un enlace adecuado para el sitio al que está intentando acceder ...

Wim ten Brink
fuente
0

Esto puede ser relevante para un cierto subconjunto de personas con este problema ... quizás en un sabor diferente.

Estaba forzando una redirección https en RELEASE.

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

Y no había https habilitado en mi iis express. Funcionando correctamente en DEBUG

Pellizco
fuente
0

Simplemente estaba tratando de enlazar IP con IIS pero terminé jugando con los archivos de configuración de IIS. Literalmente probé más de 20 soluciones para esto, que incluyen

  1. Eliminación de archivo .vs de una solución de proyecto
  2. Eliminación del archivo de configuración de la carpeta IIS
  3. Eliminación de carpetas de IIS
  4. Actualización de VS2019
  5. Reparación de VS2019
  6. Innumerables veces la máquina y el VS se reinician
  7. varios comandos en CMS
  8. varias actualizaciones de software
  9. Varios puertos cambian

pero lo que funcionó, lo que también puede funcionar para otra persona, fue REPAIRIIS desde

Control Panel\Programs\Programs and Features

Otra cosa que puede hacer referencia a esta respuesta , así

Reparación de IIS10

Camaleón
fuente
0

Asegúrese de que la depuración de secuencias de comandos esté deshabilitada

ingrese la descripción de la imagen aquí

Recibía esto de forma intermitente a pesar de haber probado varias de las sugerencias anteriores. Tan pronto como desactivé esto, la depuración de mi sitio funcionó como un sueño. (Creo que solo lo encendí por accidente, o quizás en una vida anterior).

hnodrog
fuente
0

Si está utilizando IIS "real", esto puede ocurrir si se detiene el servicio W3SVC (Publicación en la World Wide Web).

Debería parecer obvio, pero si detuvo accidentalmente el servicio o lo configuró en manual, esto podría sucederle.

Sé que el título dice IIS express, sin embargo, Google no parece filtrar el expreso incluso cuando se usa una pista -Express, así que espero que esto ayude a alguien más que encontró esta página en lugar de una específica de IIS.

Justin
fuente