Closed3

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

nazo6nazo6

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

起こったこと

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

原因

  • net::ERR_TOO_MANY_REDIRECTS というエラーが発生していた
  • 読み込んでいた画像はhttpsでアクセスするとhttpにリダイレクトするようになっていた
  • dev serverは通常http://localhost:xxxxのurl上にあるが、tauriではローカルアセットを読み込むときにhttps://tauri.localhostというurlが内部で使われる
  • そしてWindows上のWebview2(というかChromium)は現在httpとhttpsの混合コンテンツをブロックし、https上のページではhttpリクエストが自動でhttpsにアップグレードされる

https://blog.chromium.org/2019/10/no-more-mixed-messages-about-https.html

  • なのでhttp->https->httpの無限ループが発生し上記のエラーが発生していた
このスクラップは2021/12/25にクローズされました