30 ポイント 投稿者 xguru 2022-03-15 | 7件のコメント | WhatsAppで共有
  • なぜローカルで HTTPS を使うべきなのか
    • 本番環境にできるだけ近づけるため
    • 強力なセキュリティポリシーの適用 - Content Security Policy(CSP)
    • Service Worker、Secure/Prefixed Cookie など特定のブラウザ機能を利用するため
    • localhost の代わりに特定のホスト名を利用する
  • ローカルで HTTPS を使う
    • Self-Signed Certificate を作成する
      → 最も良いツールは OpenSSL だが、簡単な mkcert だけでも十分
      mkcert -install でローカル CA をインストールし、mkcert localhost でキーを生成
    • Node.js で localhost のキーを使って HTTPS サーバーを作る

7件のコメント

 
nicewook 2022-03-21

CFSSLはどうでしょうか? 私もずっとOpenSSLを使ってきたのですが、最近読んでいる本でCFSSLが紹介されていたんです。長所や短所、比較が気になりますね。

 
ngenius 2022-03-16

https://web.dev/i18n/ko/how-to-use-local-https/ こういう記事もあったんですね

 
handohee 2022-03-15

ローカルサーバーにスマートフォンを接続してテストするときは、HTTPS が必須のようです。
私の用途ではインターネットにつながらないローカルネットワークであることが多く、
ngrok のようなトンネリングは使えません。
上記の証明書作成方法でも動きはしますが、管理しやすいとは言えませんでした。
ほかに別の方法はあるでしょうか?

 
galadbran 2022-03-18

開発マシンが Windows ベースなら、Fiddler のようなプロキシを立ち上げて、iPhone や Android フォンの proxy アドレスを Fiddler の接続先アドレスに設定すれば、開発マシンの hosts ファイルなどが適用されます。
(Fiddler の自己署名ルート証明書をスマホにインストールする作業が必要です)
mitmproxy のようなものでも可能だと思います。

 
ffdd270 2022-03-15

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

私はこのソリューションを使ってみました。とても満足でした…

 
handohee 2022-03-15

以前は ngrok だとインターネットも使えないローカル環境では使えないことと、
帯域幅の制限で十分にテストできないという問題がありました。;;

 
kunggom 2022-03-15

参考までに、Windows でも PowerShell に New-SelfSignedCertificate というコマンドがあるので、別途外部ツールをインストールしなくても自己署名証明書を作成できます。以前、これで証明書ファイルを書き出す PowerShell スクリプトを書いて使っていたことがありますね。
https://www.sysnet.pe.kr/2/0/12588