Tôi tin rằng tôi đã phát hiện ra một vấn đề hẹp, rất kỳ lạ liên quan đến vấn đề về khả năng tương tác với IIS và WINRM do Powershell thực hiện trên Windows 10.
Tôi có một thiết bị có trang IIS được liên kết riêng với địa chỉ máy chủ cục bộ, 127.0.0.1.Khi được định cấu hình theo cách này, việc sử dụng "localhost" trong thanh địa chỉ của trình duyệt sẽ không hoạt động; kết nối sẽ bị từ chối hoặc đặt lại. Chỉ có thể truy cập trang web 127.0.0.1 (rõ ràng). Vấn đề này được giải quyết bằng cách thêm 127.0.0.1 vào danh sách iplisten thông qua lệnh "netsh http add iplisten". Sau khi hoàn thành, trang web liên kết với máy chủ cục bộ sẽ hoạt động. Càng xa càng tốt.
Nhưng đây là nơi nó trở nên đặc biệt. Thời điểm địa chỉ localhost được thêm vào danh sách iplisten, các lệnh từ xa thông qua Powershell (lệnh gọi -> winrm) sẽ ngừng hoạt động. Trên thiết bị, kiểm tra winrm với nó công cộng Địa chỉ IP hiện không thành công. "winrm quickconfig" cho biết thiết bị đã được cấu hình cho điều khiển từ xa và đang hoạt động bình thường. Nhưng mà không các lệnh từ xa đều hoạt động, tất cả đều báo cáo "không thể đến được đích." Truy vấn người nghe trên thiết bị đích hiển thị tất cả các điểm cuối thích hợp được xác định và cấu hình cho RM như mong đợi - tất cả đều giống như vậy Nên công việc. Không có tường lửa chặn truy cập.
Giải pháp? Xóa 127.0.0.1 khỏi danh sách iplisten trên thiết bị đích sẽ loại bỏ ngay sự cố và các lệnh powershell/remote bắt đầu hoạt động. Nhưng sau đó chúng tôi trở lại vấn đề ban đầu; "localhost" trong trình duyệt không thành công. Như một giải pháp thay thế, tôi có thể tạo một "bí danh" DNS giả mạo trong các máy chủ trỏ về 127.0.0.1, nhưng tôi thực sự không muốn gây rối với các máy chủ nếu có thể.
Đối với tôi, trên thực tế, có vẻ như đây là một trục trặc/lỗi trong độ phân giải mạng tối thiểu trên thiết bị đích; việc thêm địa chỉ 127.0.0.1 vào danh sách iplisten rõ ràng sẽ không phá vỡ các kết nối WinRM từ xa qua một địa chỉ hoàn toàn khác. Có vẻ như đây là, vô tình, định tuyến tất cả các Lưu lượng truy cập HTTP tới IIS và khi một lệnh từ xa được gửi tới nó, IIS rõ ràng là "đầu tiên", không có ràng buộc nào đối với nó (qua cổng 5985), không biết phải làm gì với nó và loại bỏ nó, khiến điều khiển từ xa lệnh thất bại.Trên thực tế, đối với tôi, dường như IIS thậm chí không bao giờ nên nhìn thấy nó; nhưng việc thêm địa chỉ loopback vào danh sách ilisten sẽ định tuyến chính xác lưu lượng truy cập đó theo cách đó.
Có điều gì tôi đang thiếu hoặc không hiểu về cách lưu lượng truy cập được định tuyến hoặc một số khía cạnh của thiết lập này mà tôi đã bỏ qua? NẾU có một số bước bổ sung mà tôi đã bỏ lỡ, tôi đánh giá cao hướng giải quyết.