Điểm:2

Không thể kết nối với máy chủ qua HTTPS trong WSL

lá cờ ru
Joe

Tôi đang cố gắng sử dụng một công cụ dòng lệnh cho một bộ lập lịch mà chúng tôi đã cài đặt tại công ty của mình và quyết định cài đặt nó trong bản cài đặt WSL ubuntu của tôi. Tuy nhiên, tôi dường như không thể kết nối với máy chủ ...

cuộn tròn "[máy chủ]" --verbose 
* Đang thử [máy chủ:443]...
*TCP_NODELAY được đặt
*kết nối với [máy chủ] cổng 443 không thành công: Đã hết thời gian kết nối

Tôi cho rằng có gì đó không ổn với tường lửa của máy chủ hoặc tường lửa Windows của tôi... ngoại trừ:

  • Tôi có thể chạy chính xác cùng một lệnh curl từ CMD trong windows (trên cùng một máy) và kết nối
  • Tôi có thể chạy cùng một lệnh curl từ WSL tới bất kỳ trang web bảo mật phổ biến nào (giả sử, https://google.com) và nó kết nối

Tôi cũng hình dung rằng nó có thể liên quan đến chứng chỉ, nhưng có vẻ như tôi không đến được phần chứng chỉ của kết nối (và một lần nữa, hoạt động tốt từ Windows và tôi không làm gì đặc biệt ở đó). Tôi cũng đã thử IP của máy chủ trong trường hợp nó cũng liên quan đến DNS. Ping hoạt động tốt và tôi đã xác minh cổng 443 là chính xác.

Có tường lửa Ubuntu nào trong WSL mà tôi cần xử lý riêng không, có thể cho phép lưu lượng truy cập vào một số trang chứ không phải các trang khác không? Các vấn đề tương tự khác có vẻ như khi chúng liên quan đến tường lửa, ping cũng không hoạt động và/hoặc chúng gặp vấn đề tương tự trên Windows như WSL/Ubuntu.

Tôi đang dùng Windows 10 (phiên bản 1909) và WSL 2 (Ubuntu 20.04.3 LTS/focal). Tôi đang sử dụng VPN (Công ty).

lá cờ ru
Joe
Hmm, tôi không có khả năng nâng cấp Windows (máy tính xách tay do công ty quản lý, họ phụ trách việc đó). Tuy nhiên, có thể cập nhật Ubuntu, WSL là thứ tôi đã cài đặt. Sẽ thấy.
lá cờ ru
Joe
Đã cập nhật lên 20.04.3, bản phát hành LTS hiện tại; vẫn có vấn đề.
lá cờ ru
Joe
Tôi cho là vậy, nhưng tôi đang hỏi - cái gì? Tôi đã nói chuyện với những người khác trong CNTT (tôi cũng ở trong CNTT) và không ai ở đây có bất kỳ nghi ngờ cụ thể nào, vì tôi có thể kết nối với trang web từ máy tính xách tay của mình trong Windows - do đó, câu hỏi của tôi về việc liệu chính Ubuntu có đang làm gì không.
NotTheDr01ds avatar
lá cờ vn
@Joe Đã cung cấp câu trả lời rồi (có thể đúng, có thể là cá trích đỏ), nhưng tò mò không biết `nc -zv là gì 443` hiển thị từ WSL/Ubuntu. Để trả lời một phần câu hỏi của bạn, không có tường lửa nào trong WSL/Ubuntu sẽ cản trở.
NotTheDr01ds avatar
lá cờ vn
@Joe Đã xóa câu trả lời của tôi, vì nó hiển nhiên đối với tôi khi tôi đọc dòng cuối cùng của câu hỏi của bạn. Đó là VPN -- Rất có thể, nó không mở rộng sang WSL. Bạn có thể truy cập *bất kỳ* trang web nội bộ nào của công ty từ WSL không?
lá cờ ru
Joe
@NotTheDr01ds Hmm, câu hỏi hay đấy.
Điểm:2
lá cờ vn

Tôi nghi ngờ VPN không mở rộng sang WSL2. Đây là một vấn đề phổ biến. Đối với hầu hết mọi người, tất cả các lưu lượng truy cập được định tuyến thông qua VPN, điều này gây ra tất cả các kết nối mạng từ bên trong WSL2 bị ngắt khi VPN đang hoạt động.

Nghe có vẻ như chỉ nội bộ lưu lượng truy cập có thể được định tuyến qua VPN của bạn. Tôi dường như nhớ lại đây là cấu hình bình thường cho AnyConnect và có thể là một số cấu hình khác nữa.

Giải pháp đơn giản nhất, nếu phù hợp với bạn, là chạy phiên bản WSL1. WSL1 hoạt động trên cùng một NIC với Windows, trong khi WSL2 hoạt động trên một vNIC được NAT phía sau máy chủ Windows.

Bạn luôn có thể chạy phiên bản WSL1 khi cần làm việc với công cụ lập lịch trình này và tiếp tục sử dụng WSL2 nếu bạn cần nó cho các trường hợp sử dụng khác.

Để sao chép WSL2 hiện tại của bạn sang WSL1, hãy tạo một thư mục nơi bạn muốn cài đặt nó và:

wsl --export Ubuntu backup.tar
wsl --import Ubuntu_WSL1 <tên thư mục> backup.tar --version 1

Bạn cũng cần đặt người dùng mặc định cho phiên bản mới bằng cách sử dụng /etc/wsl.conf. Nhìn thấy câu trả lời này (tốt nhất là Phương pháp 1) để biết chi tiết.

lá cờ ru
Joe
Chính xác - hoạt động hoàn hảo!
NotTheDr01ds avatar
lá cờ vn
Xuất sắc! Tôi kinh khủng về việc bỏ qua những từ cuối cùng khi đọc một câu hỏi. Đôi khi chúng là phần quan trọng nhất! :-)
lá cờ ru
Joe
Rất vui vì tôi đã nghĩ đến việc đưa chúng vào cuối!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.