サービスワーカーをテストしたいのですが、仮想ホストを設定しており、ローカルホストで https を有効にできないようです。
ローカルホストでサービス ワーカーを登録しようとするたびに、ローカル仮想ホスト URL をホワイトリストに登録してサービス ワーカーをテストするにはどうすればよいですか? Chrome では、サービス ワーカーを有効にするには https が必要であると表示されます。少なくともローカル テストでは、この制限を回避するにはどうすればよいですか。
ベストアンサー1
一般的に、サービスワーカーを使用するには、ページとサービスワーカースクリプトの両方をHTTPS経由で提供する必要があります。その理由は、強力な新機能のために安全なオリジンを優先する。
ローカル開発を容易にするために、HTTPS 要件には例外があります。 、http://localhost[:port]
または 経由でページとサービス ワーカー スクリプトにアクセスする場合http://127.x.y.z[:port]
、それ以上の操作を行わなくてもサービス ワーカーが有効になります。
Chromeの最近のバージョンでは、ローカル開発中に、この要件を回避することができますchrome://flags/#unsafely-treat-insecure-origin-as-secure
。この回答で説明されているように。
ファイアフォックス同様の機能を提供する設定によりますdevtools.serviceWorkers.testing.enabled
。
この機能はのみHTTPS は、他の方法では実行できないテストを容易にするためのものであり、サイトの運用バージョンを提供するときは常に HTTPS を使用するように計画する必要があります。実際のユーザーにこれらのフラグを有効にする手順を実行するように要求しないでください。