30 puntos por xguru 2022-03-15 | 7 comentarios | Compartir por WhatsApp
  • Por qué deberías usar HTTPS en local
    • Para que se parezca lo más posible al entorno de producción
    • Aplicar políticas de seguridad estrictas: Content Security Policy (CSP)
    • Usar ciertas funciones del navegador, como service workers, cookies Secure/con prefijo, etc.
    • Usar un nombre de host específico en lugar de localhost
  • Usar HTTPS en local
    • Crear un certificado autofirmado
      → La mejor herramienta es OpenSSL, pero con mkcert también es más que suficiente
      → Instala la CA local con mkcert -install y genera la clave con mkcert localhost
    • Crear un servidor HTTPS en Node.js usando la clave de localhost

7 comentarios

 
nicewook 2022-03-21

¿Qué tal CFSSL? Yo también simplemente he usado OpenSSL, pero recientemente en un libro que estoy leyendo lo presentaban. Me da curiosidad conocer sus ventajas, desventajas o alguna comparación.

 
ngenius 2022-03-16

https://web.dev/i18n/ko/how-to-use-local-https/ No sabía que también existía un artículo así.

 
handohee 2022-03-15

Parece que HTTPS es indispensable al probar la conexión del smartphone con un servidor local,
pero en mi caso de uso muchas veces se trata de una red local sin acceso a Internet,
así que no puedo usar túneles tipo ngrok.
El método de generación de certificados de arriba sí funciona, pero no era muy cómodo de administrar.
¿Habrá alguna otra forma?

 
galadbran 2022-03-18

Si tu máquina de desarrollo está basada en Windows, puedes levantar un proxy como Fiddler y configurar la dirección del proxy del iPhone o del teléfono Android para que apunte a la dirección de conexión de Fiddler; así se aplicarán cosas como el archivo hosts de la máquina de desarrollo.
(Es necesario instalar en el teléfono el certificado raíz autofirmado de Fiddler)
Parece que también sería posible con algo como mitmproxy.

 
ffdd270 2022-03-15

https://es.news.hada.io/topic?id=6151

Yo probé esta solución. Me hizo muy feliz...

 
handohee 2022-03-15

Yo tenía el problema de que con ngrok no funcionaba en un entorno local sin acceso a internet,
y que por las limitaciones de ancho de banda no podía hacer suficientes pruebas.;;

 
kunggom 2022-03-15

Como referencia, en Windows también existe el comando New-SelfSignedCertificate en PowerShell, así que se pueden crear certificados autofirmados sin instalar herramientas externas adicionales. Recuerdo que hace tiempo incluso escribí y usé un script de PowerShell para exportar el archivo del certificado con esto.
https://www.sysnet.pe.kr/2/0/12588