Предоставление локального API внутри WSL физическим устройствам и эмуляторам

Предоставление локального API внутри WSL физическим устройствам и эмуляторам

Я работаю над приложением React Native на компьютере с Windows 10. Я установил WSL, настроил на нем свои внутренние потребности и вижу, как мой API отвечает на локальном хосте из Windows, с этой стороны проблем нет.

Теперь я хотел бы вызвать его из своего мобильного приложения — как с эмулятора Android с помощью Android Studio, так и с моего физического устройства Android (с помощью Expo), подключенного к той же локальной сети по Wi-Fi.

Используя Ngrok, это может сработать, открыв мой локальный хост публичному URL, но это не то, что я ищу. Я хочу, чтобы все это оставалось локальным, если это возможно. Локальный ipv4 моего ПК — 10.0.0.8, но по этому адресу ничего не выходит (ни из мобильного приложения, ни из моего браузера на компьютере, который работает на localhost).

Мой Ubuntu внутри WSL говорит:

~$ 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. . . . . . . . . :

Какой IP-адрес и какой порт мне использовать для доступа к API с телефона или эмуляторов? Также, есть ли что-то еще, что мне нужно сделать на моем Ubuntu, чтобы раскрыть его, чтобы его можно было использовать?

Связанный контент