HTTPS con el servidor de desarrollo ASP.NET integrado de Visual Studio

111

¿Hay alguna forma de acceder al servidor de desarrollo ASP.NET integrado de Visual Studio a través de HTTPS?

Shawn Miller
fuente
2
Ver respuesta de @Guru Kara - la "respuesta marcada" no está actualizada
Rob
8
Actualicé la respuesta aceptada
Shawn Miller

Respuestas:

143

A partir de ahora podemos usar IIS Express para desarrollar y probar en SSL. Aquí hay un artículo completo que explica cómo usar IIS Express y Visual Studion 2010 para desarrollar sitios web en SSL.

ingrese la descripción de la imagen aquí

próximo

ingrese la descripción de la imagen aquí

Entonces obtendrás esto

ingrese la descripción de la imagen aquí

Trabajar con SSL en tiempo de desarrollo es más fácil con IISExpress

Presentación de IIS Express

Guru Kara
fuente
7
Esta respuesta debe aumentarse, la respuesta aceptada está muy desactualizada. Utilicé con éxito los métodos del artículo vinculado para ejecutar SSL a través de VisualStudio 2010 e IIS Express
Tom Wayson
3
Entonces, no olvide usar la URL SSL de esa ventana de propiedades, porque si no la cambió, la próxima vez que comience a depurar seguirá usando la URL no SSL (obvio, pero fácil de pasar por alto ...)
BornToCode
Recibo un "nombre de host no válido" cuando utilizo esto.
MrFox
Esto no parece funcionar con VS2017. IISExpress debería leer applicationhost.config en la carpeta /.vs/config/ de la solución. ¿Alguien conoce el secreto para hacer que esto funcione?
MC9000
En cierto modo me funciona (Comunidad VS 2017). Cuando depuro, tengo que copiar / pegar manualmente la URL de SSL en el navegador ... simplemente hacer clic en el botón de depuración en el IDE me lleva a la versión no SSL.
John Riehl
38

Cassini no admite HTTPS.

Sin embargo, puede usar IIS para hacer esto; si usa IIS 5.1, descargue el paquete de herramientas MS IIS para IIS 6.0, viene con una herramienta para crear certificados SSL autofirmados. Esto funciona en IIS 5.1

http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en

La única herramienta que necesita (SelfSSL.exe) funciona bien con IIS 5.1. Desafortunadamente, viene con muchas otras cosas.

Pasos:

  • Instale el archivo de herramientas de IIS. Si lo desea, puede hacer clic en Personalizado y decirle que solo instale SelfSSL.
  • Active el sitio en IIS en el que también desea instalar un certificado SSL.
  • Vaya a Inicio / Programas / Recursos de IIS / SelfSSL
  • Esto lanzará un símbolo del sistema en el directorio SelfSSL.
  • Con la ayuda proporcionada, ejecute SelfSSL. El comando que utilicé fue: selfssl.exe / N: cn = [MACHINENAME] / K: 1024 / V: 90 / S: 5 / P: 443
  • El modificador / S indica en qué sitio instalar el certificado. Puede averiguar el número mirando sus sitios en IIS y contando (comenzando en 1 para el primer sitio, no 0), hasta el sitio que desee.
  • Una vez que esto se haya ejecutado, busque su localhost a través de HTTPS
  • Debería recibir un mensaje de error que indique que este certificado proviene de una fuente que no es de confianza. Puede agregar su nombre de máquina a la lista de "Autoridades confiables" de los navegadores, o puede decirle al navegador que ignore esto.

En este punto, podrá ejecutar su host local a través de HTTPS.

FlySwat
fuente
1
No hay razón para usar el estúpido servidor web VS integrado. ¿Por qué usar eso cuando se supone que debes usar IIS en primer lugar? Conozca IIS, deje de decir que es demasiado difícil y demasiado trabajo simplemente usar el botón Crear directorio virtual en VS, lo que le facilita la creación de uno en IIS. Y luego conozca IIS. Es hora de que los desarrolladores dejen de tenerle miedo. Conozca los grupos de aplicaciones, etc. De lo contrario, he visto que la mayoría de los desarrolladores que usan el servidor integrado no tienen ni idea cuando se trata de IIS. No es bueno para tu carrera si eres desarrollador. Un par de pasos más para depurar, y qué.
PositiveGuy
3
Vea la respuesta de Guru Kara ... IIS Express es la mejor respuesta
Lee Harold
12

Wilco Bauwer escribió un servidor webdev que admitirá https. Es uno de los desarrolladores que trabajó en cassini visual studio 2005 construido en servidor web. WebDev.WebServer2

Aaron Fischer
fuente
1
El enlace ya no es accesible, pero puede obtenerlo a través de web.archive.org/web/20080123212335/http://www.wilcob.com/Wilco/…
labilbe
1
El enlace es accesible nuevamente.
Scott Stafford
¡Muchas gracias por esto, nunca supe que había una clase de HttpListener que remodelaste mi mundo!
Peter
2

Seleccione el archivo de proyecto en el Explorador de soluciones: por ejemplo: "WebApplication1".

Presionando ALT + ENTER ingresa las propiedades del proyecto.

Seleccione "DEBUG" en el lado izquierdo .

Aquí puede seleccionar "Habilitar SSL" .

Luego puede comenzar su proyecto con IIS Express normalmente y comenzará a usar SSL, el nuevo puerto será 44301

MrzJkl
fuente
1
Una mejor explicación estaría agradecida
Nicolás Alarcón Rapela
¿Que quieres saber?
MrzJkl
3
La sección "DEBUG" en las propiedades del proyecto existe para .NET Core WebApplications. Para .NET Framework WebApplication - seleccione el proyecto web, presione F4 (para mostrar la ventana Propiedades) - hay una propiedad "Habilitar SSL"
Sergey Smolnikov
Gracias Sergey. No pude encontrar eso ya que no se muestra en la página de configuración del proyecto. ¡Solo debajo del explorador de soluciones cuando presiona F4!
Norbert Norbertson