30 Punkte von xguru 2022-03-15 | 7 Kommentare | Auf WhatsApp teilen
  • Warum sollte man lokal HTTPS verwenden?
    • Um der Produktionsumgebung möglichst ähnlich zu sein
    • Anwendung strenger Sicherheitsrichtlinien – Content Security Policy (CSP)
    • Nutzung bestimmter Browserfunktionen wie Service Worker, Secure-/Prefixed-Cookies usw.
    • Einen bestimmten Hostnamen statt localhost verwenden
  • HTTPS lokal verwenden
    • Self-Signed Certificate erstellen
      → Das beste Tool ist OpenSSL, aber auch das einfache mkcert ist völlig ausreichend
      → Mit mkcert -install die lokale CA installieren und mit mkcert localhost den Schlüssel erzeugen
    • Mit Node.js unter Verwendung des localhost-Schlüssels einen HTTPS-Server erstellen

7 Kommentare

 
nicewook 2022-03-21

Wie wäre es mit CFSSL? Ich habe bisher auch einfach OpenSSL verwendet, aber in einem Buch, das ich gerade lese, wurde kürzlich CFSSL vorgestellt. Mich würden die Vor- und Nachteile sowie ein Vergleich interessieren.

 
ngenius 2022-03-16

https://web.dev/i18n/ko/how-to-use-local-https/ So einen Artikel gab es also auch.

 
handohee 2022-03-15

Beim Testen der Smartphone-Verbindung mit einem lokalen Server scheint HTTPS unverzichtbar zu sein.
In meinem Anwendungsfall handelt es sich jedoch oft um ein lokales Netzwerk ohne Internetzugang,
daher kann ich keine Tunneling-Lösungen wie ngrok verwenden.
Die oben beschriebene Methode zur Zertifikatserstellung funktioniert zwar, war aber nicht besonders komfortabel in der Verwaltung.
Gibt es vielleicht eine andere Möglichkeit?

 
galadbran 2022-03-18

Wenn der Entwicklungsrechner auf Windows basiert, kann man einen Proxy wie Fiddler starten und die Proxy-Adresse des iPhone- oder Android-Smartphones auf die Verbindungsadresse von Fiddler setzen; dann werden die hosts-Datei usw. des Entwicklungsrechners angewendet.
(Dazu muss das selbst signierte Root-Zertifikat von Fiddler auf dem Smartphone installiert werden.)
Mit etwas wie mitmproxy scheint es ebenfalls möglich zu sein.

 
ffdd270 2022-03-15

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

Ich habe diese Lösung schon ausprobiert. Ich war wirklich sehr zufrieden damit...

 
handohee 2022-03-15

Ich hatte das Problem, dass ngrok in einer lokalen Umgebung ohne Internet nicht funktioniert,
und dass ich wegen der Bandbreitenbegrenzung nicht ausreichend testen konnte.;;

 
kunggom 2022-03-15

Zur Info: Auch unter Windows gibt es in PowerShell den Befehl New-SelfSignedCertificate, mit dem man selbstsignierte Zertifikate erstellen kann, ohne ein zusätzliches externes Tool installieren zu müssen. Ich habe früher einmal ein PowerShell-Skript geschrieben und verwendet, um damit Zertifikatsdateien zu exportieren.
https://www.sysnet.pe.kr/2/0/12588