Tôi có Selenium đang chạy trên máy chủ của mình và ứng dụng của tôi nằm trong vùng chứa docker (bên trong WSL2).
Tôi đang cố gắng kết nối ứng dụng với selen, ứng dụng đang nghe trên cổng 4445.
Nó đã từng hoạt động cách đây vài tháng, tôi nghĩ có điều gì đó đã thay đổi trong WSL.
Máy chủ đang nghe trên 4445:
tái bút> netstat -ano | phát hiệntr :4445
TCP 0.0.0.0:4445 0.0.0.0:0 NGHE 11604
TCP [::]:4445 [::]:0 NGHE 11604
Tôi có thể truy cập Selenium từ máy chủ Windows:
>curl -X POST http://DESKTOP-HED9HVG:4445/wd/hub
{"tiểu bang":".....}
nhưng không phải từ WSL2:
$ curl -X POST http://172.22.241.214:4445/wd/hub
curl: (7) Không thể kết nối với cổng 172.22.241.214 4445: Kết nối bị từ chối
Tôi đã thử một số tùy chọn cho ip mà tôi đã sử dụng trong curl:
địa chỉ ip
ip eth0
$(tên máy chủ)
- địa chỉ ip từ kết quả của
ipconfig/tất cả | phát hiện IPv4
- kết quả địa chỉ ip của
lộ trình -n | grep UG | đầu -n1 | awk '{in $2}'
Tôi đã cài đặt tcptraeroute trên WSL và chạy nó. Đây là đầu ra:
$ tcptraroute $(tên máy chủ) 4445
Lo thiết bị đã chọn, địa chỉ 127.0.0.1, cổng 53915 cho các gói gửi đi
Truy tìm đường dẫn tới DESKTOP-WXYZ1 (127.0.1.1) trên cổng TCP 4445, tối đa 30 bước nhảy
1 DESKTOP-WXYZ1.localdomain (127.0.1.1) [đã đóng] 0,075 ms 0,082 ms 0,074 ms
Nhân tiện, ping từ WSL đến máy chủ hoạt động:
$ ping $(tên máy chủ)
PING DESKTOP-WXYZ1.localdomain (127.0.1.1) 56(84) byte dữ liệu.
64 byte từ DESKTOP-WXYZ1.localdomain (127.0.1.1): icmp_seq=1 ttl=64 time=0,053 ms
Tôi đã cố gắng tắt hoàn toàn tường lửa của windows nhưng không được. Tôi cũng đã thêm một quy tắc trong "Tường lửa của Bộ bảo vệ Windows" để bật cụ thể cổng 4445. Nó vẫn không giúp được gì
Thông tin về WSL:
> wsl -l -v
TÊN TIỂU BANG PHIÊN BẢN
* Ubuntu-20.04 Chạy 2
docker-desktop Đang chạy 2
docker-desktop-data Đang chạy 2
Bất cứ ý tưởng làm thế nào để giải quyết điều này?