visual studio error err_ssl_protocol_error err_connection_reset configured ssl https kestrel-http-server visual-studio-2017

studio - iis express ssl error



Visual Studio 2017 Habilitar SSL (8)

En el Explorador de soluciones, haga clic derecho en el nombre de su sitio web y seleccione "Ventana de propiedades", o simplemente presione F4. En la sección Servidor web del desarrollador, cambie SSL habilitado de Falso a Verdadero.

¿Cómo habilitas SSL para un proyecto en Visual Studio 2017?

En VS15, podría seleccionar Proyecto -> Propiedades -> Depurar -> Habilitar SSL. Esta opción no está disponible en VS2017. ¿A dónde se ha movido?

Editar:

Incluso he intentado editar ./vs/config/applicationhost.config en vano:

<listenerAdapters> <add name="http" /> <add name="https" /> </listenerAdapters> <sites> <site name="WebSite1" id="1" serverAutoStart="true"> <application path="/"> <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%/WebSite1" /> </application> <bindings> <binding protocol="http" bindingInformation=":8080:localhost" /> </bindings> </site> <site name="Filters" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="c:/Users/Ashley/documents/visual studio 2017/Projects/Filters/src/Filters" /> </application> <bindings> <binding protocol="http" bindingInformation="*:51107:localhost" /> <binding protocol="https" bindingInformation="*:43107: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" /> <virtualDirectoryDefaults allowSubDirConfig="true" /> </sites> <webLimits />

Editar:

Otra opción que he probado, que simplemente se siente torpe, y tipo de derrotas al punto de un IDE, es configurar Kestrel para utilizar HTTPS. Esto no es lo ideal, ya que tuve que exportar una copia de un certificado para localhost desde IIS, e IIS Express todavía intenta cargar el sitio en un puerto diferente.

public class Program { public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel(options => options.UseHttps(new X509Certificate2("path/to/cert.pfx", "password"))) .UseContentRoot(Directory.GetCurrentDirectory()) .UseUrls("http://localhost:5100", "https://localhost:4300") .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); } }

Lamentablemente, esto no funciona cuando se ejecuta desde VS17. La primera vez que recibí un error 502.2 (creo), ahora todo lo que consigo es un error de conexión en Chrome. Puedo ejecutar dotnet run desde PowerShell y funciona bien.

Como solución, hace el truco. Pero no parece limpio.


La edición de ./vs/config/applicationhost.config realmente funcionó para mí.

<site name="Filters" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="c:/Users/Ashley/documents/visual studio 2017/Projects/Filters/src/Filters" /> </application> <bindings> <binding protocol="http" bindingInformation="*:51107:localhost" /> **<binding protocol="https" bindingInformation="*:43107:localhost" />** </bindings> </site>

Sin embargo, carga la aplicación en el navegador utilizando el puerto no https de forma predeterminada. Si apunta manualmente su navegador al puerto 43107, debería funcionar.

Editar

Esto me funcionó algunas veces, pero dejó de funcionar. Pruebas posteriores revelaron que cada vez que presionaba el botón para iniciar la depuración en VS 2017 RC, eliminaba el enlace que agregaba manualmente.

Arreglé eso haciendo que el archivo sea de solo lectura ahora que está comenzando nuevamente con el soporte de HTTPS.



Para Visual Studio 2017:

  1. En el Explorador de soluciones, haga clic derecho en el proyecto> Propiedades
  2. Seleccione la pestaña de depuración
  3. Marque Habilitar SSL

Para aquellos que ejecutan asp.net core 1.x en Visual Studio 2017 RC, debería poder cambiar la línea "sslPort": 0 en el archivo launchSettings.json a cualquier número de puerto que quiera usar para SSL. Esto cambia efectivamente los enlaces en el archivo. / Vs / config / applicationhost.config mencionado en las respuestas anteriores.


Un punto importante que puede faltar es que debe ejecutar Visual Studio como administrador de administrador (haga clic derecho en el ícono de VS y seleccione "Ejecutar como administrador". He estado luchando contra este problema de SSL y luego ejecutando VS como administrador lo hice funcionar.


Esto es para un Asp.Net Core 2.0:

  1. Abra su Explorador de soluciones en VS2017.
  2. Properties doble clic (sí, también es un objeto en sí, no solo una carpeta)
  3. Abrir Debug en el lado izquierdo
  4. Desplázate hacia abajo y selecciona Enable SSL

Si ya está habilitado, abra launchSettings.json (desplegar Properties ) y configure "sslPort" en 0 , luego repita los pasos.

VS2017 ahora debería preguntarle si desea agregar un certificado SSL (algo que no hace si modificó launchSettings.json por su cuenta) y establecerá un puerto para usted.


Esto es para un proyecto de .Net Framework MVC de Asp.Net

  1. Seleccione su proyecto resaltándolo.
  2. Luego presiona F4 para abrir su panel de Propiedades.
  3. Encuentre el elemento SSL habilitado en la lista y establezca su valor en Verdadero y copie el valor de la URL de SSL en su portapapeles.
  4. Mientras su proyecto está resaltado, presione Alt + Intro para abrir el cuadro de diálogo Propiedades: pegue la URL SSL copiada en la URL del proyecto en el cuadro de entrada del menú Web .