- 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
¿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.
https://web.dev/i18n/ko/how-to-use-local-https/ No sabía que también existía un artículo así.
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?
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
hostsde 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.
https://es.news.hada.io/topic?id=6151
Yo probé esta solución. Me hizo muy feliz...
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.;;
Como referencia, en Windows también existe el comando
New-SelfSignedCertificateen 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