30 points par xguru 2022-03-15 | 7 commentaires | Partager sur WhatsApp
  • Pourquoi utiliser HTTPS en local ?
    • Se rapprocher autant que possible de l’environnement de production
    • Appliquer des politiques de sécurité strictes - Content Security Policy (CSP)
    • Utiliser certaines fonctionnalités du navigateur, comme les service workers, les cookies Secure/préfixés, etc.
    • Utiliser un nom d’hôte spécifique plutôt que localhost
  • Utiliser HTTPS en local
    • Générer un certificat auto-signé
      → Le meilleur outil est OpenSSL, mais le simple usage de mkcert suffit aussi
      → Installer une autorité de certification locale avec mkcert -install, puis générer une clé avec mkcert localhost
    • Créer un serveur HTTPS avec Node.js en utilisant la clé de localhost

7 commentaires

 
nicewook 2022-03-21

Que pensez-vous de CFSSL ? J’ai moi aussi simplement utilisé OpenSSL jusqu’ici, mais CFSSL était présenté dans un livre que je lis en ce moment. Je serais curieux de connaître les avantages, les inconvénients et les comparaisons possibles.

 
ngenius 2022-03-16

Il y avait aussi cet article : https://web.dev/i18n/ko/how-to-use-local-https/

 
handohee 2022-03-15

Lors des tests de connexion d’un smartphone à un serveur local, il semble que le HTTPS soit indispensable.
Dans mon cas d’usage, il s’agit souvent d’un réseau local sans accès à Internet,
je ne peux donc pas utiliser de tunneling de type ngrok.
La méthode de génération de certificat ci-dessus fonctionne, mais elle n’est pas très pratique à gérer.
Y aurait-il une autre méthode ?

 
galadbran 2022-03-18

Si la machine de développement est basée sur Windows, vous pouvez lancer un proxy comme Fiddler puis configurer l’adresse du proxy de l’iPhone ou du téléphone Android sur l’adresse de connexion de Fiddler afin que le fichier hosts de la machine de développement, entre autres, soit pris en compte.
(Il faut installer sur le téléphone le certificat racine auto-signé de Fiddler.)
Cela devrait aussi être possible avec quelque chose comme mitmproxy.

 
ffdd270 2022-03-15

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

J’ai utilisé cette solution. Franchement, ça m’a vraiment simplifié la vie...

 
handohee 2022-03-15

Pour moi, le problème avec ngrok, c’était que ça ne fonctionnait pas dans un environnement local sans accès à Internet,
et qu’avec les limites de bande passante, je ne pouvais pas tester suffisamment.;;

 
kunggom 2022-03-15

À titre indicatif, sous Windows aussi, PowerShell propose une commande appelée New-SelfSignedCertificate, ce qui permet de créer un certificat auto-signé sans installer d’outil externe supplémentaire. Il m’est arrivé autrefois d’écrire et d’utiliser un script PowerShell pour en extraire un fichier de certificat.
https://www.sysnet.pe.kr/2/0/12588