Am seleniu care rulează pe mașina mea gazdă, iar aplicația mea se află într-un container docker (în interiorul WSL2).
Încerc să conectez aplicația la selenium, care ascultă pe portul 4445.
Funcționa acum câteva luni, cred că ceva s-a schimbat în WSL.
Gazda ascultă la 4445:
PS> netstat -ano | findstr :4445
TCP 0.0.0.0:4445 0.0.0.0:0 ASCULTARE 11604
TCP [::]:4445 [::]:0 ASCULTARE 11604
Pot accesa seleniul de pe mașina gazdă Windows:
>curl -X POST http://DESKTOP-HED9HVG:4445/wd/hub
{"stat":".....}
dar nu de la WSL2:
$ curl -X POST http://172.22.241.214:4445/wd/hub
curl: (7) Nu s-a putut conecta la portul 172.22.241.214 4445: Conexiunea a fost refuzată
Am încercat mai multe opțiuni pentru ip-ul pe care l-am folosit în curl:
adresa ip
eth0 ip
$(nume gazdă)
- adrese IP din rezultatele de
ipconfig /all | findstr IPv4
- rezultat adresa ip a
ruta -n | grep UG | cap -n1 | awk „{printează $2}”
Am instalat tcptraceroute pe WSL și l-am rulat. Aceasta este ieșirea:
$ tcptraceroute $(nume gazdă) 4445
Dispozitivul selectat, adresa 127.0.0.1, portul 53915 pentru pachetele de ieșire
Urmărirea căii către DESKTOP-WXYZ1 (127.0.1.1) pe portul TCP 4445, 30 de hopuri maxim
1 DESKTOP-WXYZ1.localdomain (127.0.1.1) [închis] 0,075 ms 0,082 ms 0,074 ms
Apropo, ping de la WSL la gazdă funcționează:
$ ping $(nume gazdă)
PING DESKTOP-WXYZ1.localdomain (127.0.1.1) 56(84) octeți de date.
64 de octeți de la DESKTOP-WXYZ1.localdomain (127.0.1.1): icmp_seq=1 ttl=64 time=0,053 ms
Am încercat să dezactivez complet firewall-ul Windows, dar nu ajută. De asemenea, am adăugat o regulă în „Windows Defender Firewall” pentru a activa în mod specific portul 4445. Tot nu a ajutat
Informații despre WSL:
>wsl -l -v
NUME STARE VERSIUNE
* Ubuntu-20.04 Running 2
docker-desktop Running 2
docker-desktop-data Rulează 2
Ai idee cum să rezolv asta?