У меня есть селен, работающий на моем хост-компьютере, и мое приложение находится внутри контейнера докеров (внутри WSL2).
Я пытаюсь подключить приложение к селену, который прослушивает порт 4445.
Раньше это работало несколько месяцев назад, я думаю, что-то изменилось в WSL.
Хост прослушивает 4445:
PS> нетстат -ано | адрес: 4445
TCP 0.0.0.0:4445 0.0.0.0:0 ПРОСЛУШИВАНИЕ 11604
TCP [::]:4445 [::]:0 ПРОСЛУШИВАНИЕ 11604
Я могу получить доступ к селену с хост-машины Windows:
>curl -X ПОЧТИТЬ http://DESKTOP-HED9HVG:4445/wd/hub
{"государство":".....}
но не из WSL2:
$ curl -X POST http://172.22.241.214:4445/wd/hub
curl: (7) Не удалось подключиться к порту 172.22.241.214 4445: соединение отклонено
Я попробовал несколько вариантов ip, которые я использовал в curl:
IP-адрес
eth0 IP
$(имя хоста)
- IP-адреса по результатам
ipconfig/все | найтиstr IPv4
- IP-адрес результат
маршрут -n | ГРЭП ЮГ | голова -n1 | awk '{напечатать $2}'
Я установил tcptracoute на WSL и запустил его. Это результат:
$ tcptracoute $ (имя хоста) 4445
Выбранное устройство lo, адрес 127.0.0.1, порт 53915 для исходящих пакетов
Отслеживание пути к DESKTOP-WXYZ1 (127.0.1.1) через TCP-порт 4445, не более 30 переходов
1 DESKTOP-WXYZ1.localdomain (127.0.1.1) [закрыт] 0,075 мс 0,082 мс 0,074 мс
Кстати, пинг с WSL на хост работает:
$ пинг $(имя хоста)
PING DESKTOP-WXYZ1.localdomain (127.0.1.1) 56 (84) байт данных.
64 байта от DESKTOP-WXYZ1.localdomain (127.0.1.1): icmp_seq=1 ttl=64 time=0,053 мс
Я пытался полностью отключить брандмауэр Windows, но это не помогает. Я также добавил правило в «Брандмауэр Защитника Windows», чтобы специально включить порт 4445. Это все еще не помогло
Информация о WSL:
>wsl -l -v
НАИМЕНОВАНИЕ СОСТОЯНИЕ ВЕРСИЯ
* Ubuntu-20.04 Запуск 2
докер-рабочий стол работает 2
docker-desktop-data Выполняется 2
Есть идеи, как это решить?