WSL 내부의 로컬 API를 물리적 장치 및 에뮬레이터에 노출

WSL 내부의 로컬 API를 물리적 장치 및 에뮬레이터에 노출

저는 Windows 10 컴퓨터에서 반응 네이티브 앱을 개발 중입니다. WSL을 설치하고 이에 대한 백엔드 요구 사항을 설정했으며 Windows의 localhost에서 내 API가 응답하는 것을 볼 수 있습니다. 아무 문제가 없습니다.

이제 Android Studio를 사용하는 Android 에뮬레이터와 Wi-Fi를 통해 동일한 로컬 네트워크에 연결된 실제 Android 장치(Expo 사용)에서 내 모바일 앱에서 호출하고 싶습니다.

Ngrok를 사용하면 내 로컬 호스트가 공개 URL에 노출되어 작동할 수 있지만 이는 내가 원하는 것이 아닙니다. 가능하다면 모두 로컬로 유지하고 싶습니다. 내 PC의 로컬 ipv4는 이지만 10.0.0.8해당 주소에는 아무 것도 나오지 않습니다(모바일 앱이나 에서 작동하는 데스크톱 브라우저에서는 나오지 않습니다 localhost).

WSL 내부의 Ubuntu는 다음과 같이 말합니다.

~$ cat /etc/hosts

# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateHosts = false
127.0.0.1       localhost
127.0.1.1       JB-PC.localdomain       JB-PC

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

나의 ipconfig:

Carte Ethernet Ethernet :

   Suffixe DNS propre à la connexion. . . : Home
   Adresse IPv6 de liaison locale. . . . .: fe80::f04e:ae2b:40b9:3d82%6
   Adresse IPv4. . . . . . . . . . . . . .: 10.0.0.8
   Masque de sous-réseau. . . . . . . . . : 255.255.255.0
   Passerelle par défaut. . . . . . . . . : 10.0.0.138

Carte Ethernet vEthernet (WSL) :

   Suffixe DNS propre à la connexion. . . :
   Adresse IPv6 de liaison locale. . . . .: fe80::68c3:25c9:588a:a957%17
   Adresse IPv4. . . . . . . . . . . . . .: 172.20.32.1
   Masque de sous-réseau. . . . . . . . . : 255.255.240.0
   Passerelle par défaut. . . . . . . . . :

휴대폰이나 에뮬레이터에서 API에 액세스하려면 어떤 IP 주소와 어떤 포트를 사용해야 합니까? 또한 우분투를 사용 가능하도록 노출시키기 위해 수행해야 할 다른 작업이 있습니까?

관련 정보