背景

ReactのアプリからAPIを呼べません。API側で通信されたというログが出ないのです。

この謎がとけなくてずーっと考えてました。サウナに入ってぼーっと考えていたら、もしかしてHTTPSとHTTPが原因なんじゃないかとひらめきました。帰宅して調べたら、その通りでした。

開発環境はHTTPで試験しているので、こういうのに気が付きにくいです。

対応

HTTPサイトの表示を許可するにしました。

方法

Chromeの場合。

設定 > プライバシーとセキュリティ > サイトの設定 >安全でないコンテンツ

ドロップダウンで広げないと見つからない。

「安全でないコンテンツの表示を許可するサイト」にhttpのURLを追加します。

恒久対処はHTTPS

もちろん、恒久対処はHTTPSでの通信です。

インターネットに存在する全てのユーザがこんな設定できないですから。