⚙️

Vite で HTTPS を有効にしたときに net::ERR_HTTP2_PROTOCOL_ERROR が発生する

2022/11/13に公開

Vite でデバッグしたときにランダムで net::ERR_HTTP2_PROTOCOL_ERROR が発生しページが読み込めないことがあります。確認した発生条件は以下の通りです。

  • Vite 2.9.14 (おそらく 3.x 系では発生しない)
  • HTTPS を有効にしている (vite.config.json の server.https)
  • export const されているコードを読み込む?

解決するには Vite を 3.x に上げるのが確実です。またエラー自体は HTTP2 に起因するものなので HTTP2 を無効にすることでも解決できます。HTTP2 を無効化するには vite.config.ts を以下のようにします。

export default defineConfig({
  ...
  server: {
    https: true,
    proxy: { 'https://localhost:3000': 'https://localhost:3000' }
  }
});

https://github.com/vitejs/vite/issues/4403

Discussion