Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Máy khách WinRM nhận được trạng thái yêu cầu không hợp lệ HTTP (400)

Khi định cấu hình WinRM trên các máy chủ trong miền Active Directory, tôi đã gặp phải một vấn đề lạ. Sau khi dịch vụ WinRM được định cấu hình và kích hoạt trên máy chủ Windows và kết nối từ xa với nó được cho phép thông qua Windows PowerShell Remoting, lỗi WinRM sau xuất hiện trong bảng điều khiển PowerShell sau khi cố gắng kết nối từ xa với máy chủ bằng Enter-PSSession lon-dc1 lệnh:

PS C:\ Windows \ system32> Enter-PSSession lon-dc01

Enter-PSSession:Kết nối với máy chủ từ xa lon-dc1 không thành công với thông báo lỗi sau:Máy khách WinRM nhận được trạng thái yêu cầu không hợp lệ HTTP (400), nhưng dịch vụ từ xa không bao gồm bất kỳ thông tin nào khác về nguyên nhân gây ra lỗi. Để biết thêm thông tin, hãy xem chủ đề about_Remote_Troubleshooting Help.

Tại dòng:1 char:1

+ Enter-PSSession lon-dc1

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo:InvalidArgument:(lon-dc1:String) [Enter-PSSession], PSRemotingTransportException

+ FullQualifiedErrorId:CreateRemoteRunspaceFailed

Ngoài ra, bạn có thể thấy thông báo lỗi sau:

Máy khách WinRM không thể xử lý yêu cầu. Nó không thể xác định loại nội dung của phản hồi HTTP từ máy tính đích. Loại nội dung không có hoặc không hợp lệ.

Máy khách WinRM nhận được trạng thái yêu cầu không hợp lệ HTTP (400)

Đồng thời các cổng WinRM trên máy chủ (5985 / HTTP, 5986 / HTTPS) phản hồi và chấp nhận các kết nối. Bạn có thể kiểm tra tính khả dụng của các cổng WinRM TCP bằng công cụ PortQry hoặc lệnh ghép ngắn Test-NetConnection PowerShell:

TNC lon-dc1 –port 5985

Máy khách WinRM nhận được trạng thái yêu cầu không hợp lệ HTTP (400)

Hóa ra, sự cố liên quan đến kích thước lớn của mã thông báo Kerberos của người dùng do người dùng là thành viên của quá nhiều nhóm bảo mật miền. Lỗi xuất hiện khi kích thước của mã thông báo vượt quá 16 KB (xem bài viết Kerberos MaxTokenSize và Nhóm bảo mật). Trong trường hợp của chúng tôi, nó cũng xảy ra theo cách tương tự, máy chủ WinRM đặt lại yêu cầu từ máy khách, vì kích thước của tiêu đề gói xác thực vượt quá 16 KB. Trong bài viết về liên kết ở trên, chúng tôi đã đề cập rằng tiêu đề HTTP mặc định trên IIS không quá 16 KB và trong trường hợp gặp sự cố với xác thực HTTP do mã thông báo người dùng lớn, nó cần phải tăng lên 64 KB .

Để khắc phục sự cố, bạn cần giảm kích thước mã thông báo (giảm số lượng nhóm bảo mật mà người dùng là thành viên) và nếu không thể, hãy thay đổi giá trị của các tham số DWORD sau trên khóa đăng ký máy chủ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ HTTP \ Parameters.

  • MaxFieldLength tăng lên 0000ffff (65535);
  • MaxRequestBytes tăng lên 0000ffff (65535).

Máy khách WinRM nhận được trạng thái yêu cầu không hợp lệ HTTP (400)

Bây giờ chỉ cần khởi động lại máy chủ của bạn và kiểm tra kết nối WinRM của bạn từ máy khách từ xa bằng Enter-PSSession.