nazo6 notememo

tauriでWindows上でproductionビルドでのみ画像が表示されない(fetchエラーが発生する)

作成:2021/12/25

更新:2021/12/25

(2021-12-25)

誰の役にも立たない気がするけどハマったのでメモ

起こったこと

  • tauri devで表示されていた画像がtauri buildでビルドしたバイナリではなぜか表示されなかった
  • Windowsでのみ起きてwsl上のLinuxでは起きなかった
  • 試しにtauri.conf.jsondevPathにビルド済みのアセットのローカルパスを書いてtauri devで起動してみたところ問題が再現

原因 (2021-12-25)

  • net::ERR_TOO_MANY_REDIRECTS というエラーが発生していた
  • 読み込んでいた画像はhttpsでアクセスするとhttpにリダイレクトするようになっていた
  • dev serverは通常 [http://localhost

    のurl上にあるが、tauriではローカルアセットを読み込むときに
    https://tauri.localhost というurlが内部で使われる
  • そしてWindows上のWebview2(というかChromium)は現在httpとhttpsの混合コンテンツをブロックし、https上のページではhttpリクエストが自動でhttpsにアップグレードされる

No More Mixed Messages About HTTPS

Update (April 6, 2020): Mixed image autoupgrading was originally scheduled for Chrome 81, but will be delayed until at least Chrome 84. Chec...

blog.chromium.org

  • なのでhttp->https->httpの無限ループが発生し上記のエラーが発生していた

解決策 (2021-12-25)

How to make tauri use http://tauri.localhost/ instead of https://tauri.localhost/ ? The page was blocked since the page was loaded over HTTPS. · Issue #3007 · tauri-apps/tauri

Updated @2023-09-17: If anyone has encountered this problem, please pay attention to this PR: Allow http origin on Windows Is your feature request related to a problem? Please describe. WebView con...

github.com