狐好きぷろぐらまー

狐好きプログラマーのブログです。

【ESET】Androidにてlocalhostに対してのhttp接続ができなかった時の対応メモ【ファイアーウォール】

こんにちは。pregum_foxです。 今回は実機のAndroid端末からローカルPCへ向けてのhttp接続が動作しないことがあり、一般的なハマりポイントとは異なる箇所でハマっていたので、備忘録としてこちらに残しておこうと思います。

以下目次です。

開発環境

項目 内容
macOS 15.2(24C101)
Android 14
ESET 8.2.800.0

概要

androidの実機の端末にて、ローカルで動作しているsupabaseのdbへhttp接続しようとすると以下のエラーが発生し取得処理が動作していませんでした。 エラーコードを見る限りuriの設定は想定通りに設定できていました。

 flutter (23500): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 I/flutter (23500): │ #0   AppVersionRepository.getUpdatingType (package:museum_journey/models/repository/remote/app_version_repository.dart:44:14)
 I/flutter (23500): │ #1   <asynchronous suspension>
 I/flutter (23500): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
 I/flutter (23500): │ ⛔ ClientException: Connection reset by peer, uri=http://192.168.0.4:54321/rest/v1/app_versions?select=%2A&limit=1, #0      IOClient.send (package:http/src/io_client.dart:156:7)
 I/flutter (23500): │ ⛔ <asynchronous suspension>
 I/flutter (23500): │ ⛔ #1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:93:32)
 I/flutter (23500): │ ⛔ <asynchronous suspension>
 I/flutter (23500): │ ⛔ #2      PostgrestBuilder._execute (package:postgrest/src/postgrest_builder.dart:140:20)
 I/flutter (23500): │ ⛔ <asynchronous suspension>
 I/flutter (23500): │ ⛔ #3      PostgrestBuilder.then (package:postgrest/src/postgrest_builder.dart:388:24)
 I/flutter (23500): │ ⛔ <asynchronous suspension>
 I/flutter (23500): │ ⛔ 
 I/flutter (23500): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

原因

使用していたセキュリティソフト(ESET Cyber Security)のファイアーウォールの設定が原因でhttp接続が弾かれていました。

解決方法

上記の「ファイアウォールの信頼できる第三者アプリケーションへの受信接続を許可する」をONにすることでhttp接続ができるようになりました。

調査時に行ったこと

以下の記事を見つつ、en0のipaddressをsupabaseUrlに設定して初期化後、dbアクセスを行った

雑感

以前もReactでローカルサーバをたててアクセスしようとした時に似たような問題に当たったので、今回は前より早めに気付けてよかったです。 http接続は普段あまりしないので、詰まった時にはこの記事を思い出そうと思います。

読んでいただきありがとうございました。

参考URL