- 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
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.
https://web.dev/i18n/ko/how-to-use-local-https/ So einen Artikel gab es also auch.
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?
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
mitmproxyscheint es ebenfalls möglich zu sein.https://de.news.hada.io/topic?id=6151
Ich habe diese Lösung schon ausprobiert. Ich war wirklich sehr zufrieden damit...
Ich hatte das Problem, dass
ngrokin einer lokalen Umgebung ohne Internet nicht funktioniert,und dass ich wegen der Bandbreitenbegrenzung nicht ausreichend testen konnte.;;
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