2013-05-24 35 views
5

Tôi đang gặp sự cố thực sự lạ khi yêu cầu HTTP của trình duyệt xuất hiện bị loại bỏ bởi trình kết nối Đơn giản được máy chủ Restlet sử dụng.Restlet với yêu cầu thả kết nối đơn giản?

máy chủ thiết lập:

  • Restlet 2.1.2 máy chủ
  • mở rộng Restlet-đơn giản (đi kèm với Simple 4.1.21) mở rộng Restlet-crypto
  • cho tiêu hóa xác thực

Các máy chủ đang phân phối các trang web tới các trình duyệt và sử dụng XMLHttpRequest của javascript để tìm các bản cập nhật. Tuy nhiên, một số XMLHttpRequests không hoàn thành. Trình gỡ lỗi javascript cho Chrome hiển thị trạng thái "không thành công" cho các cài đặt này; Trình gỡ lỗi của Firefox ghi lại thời gian hoàn thành mà không có mã trạng thái HTTP và phản hồi được ghi lại. Một gói sniffer chỉ ra rằng các yêu cầu có vấn đề thực sự được gửi đến máy chủ, nhưng máy chủ không bao giờ trả lời. Gỡ lỗi cho thấy rằng các yêu cầu này không bao giờ đến được mã máy chủ của chúng tôi.

Tôi đã xác minh sự cố với Firefox, Chrome cũng như IE. Tất cả ba trình duyệt (phiên bản mới nhất) đều gặp sự cố này. Ngoài ra, mỗi trình duyệt được lặp đi lặp lại và tái tạo có vấn đề với cùng một yêu cầu. Tuy nhiên, bộ yêu cầu này khác nhau giữa ba trình duyệt.

Điều thực sự lạ là vấn đề không hiển thị khi sử dụng tên máy của máy chủ (kiểm tra chạy trên mạng LAN), nhưng không phải khi sử dụng địa chỉ IP của máy. Chuyển đổi từ Digest sang Basic authentication cũng làm cho vấn đề biến mất, cũng như thay thế đầu nối Simple bằng Jetty.

Tôi có ý định chuyển sang Jetty ngay bây giờ, nhưng tôi vẫn muốn biết điều gì đang xảy ra. Có ai nhìn thấy hành vi như vậy trước đây, hoặc có một ý tưởng về những gì đang xảy ra ở đây không?

+0

Bạn nên đăng mã cấu hình Restlet bằng xác thực. – gma

Trả lời

0

Gần đây, chúng tôi đã gặp sự cố tương tự với Restlet, điều này cũng dẫn đến một số yêu cầu không được hoàn thành. Vấn đề là truy cập bản đồ không đồng bộ trong Restlet, đã được sửa (https://github.com/restlet/restlet-framework-java/issues/753).

Nếu bạn thấy một hoặc nhiều luồng gây ra lưu lượng CPU cao, điều này có thể cho thấy bạn đang bị ảnh hưởng bởi sự cố này.

Nếu XMLHttpRequests của bạn đi kèm song song bạn có thể bị ảnh hưởng.

+0

Vấn đề cụ thể đó có thể dẫn đến thất bại ngẫu nhiên. Tuy nhiên, trong trường hợp của tôi, tập hợp các yêu cầu bị bỏ qua luôn được tái tạo giống nhau. Mà thiết lập này là khác nhau tùy theo trình duyệt mặc dù. Vì vậy, firefox bỏ lỡ phản hồi cho một tập hợp các yêu cầu, IE đến một bộ khác và Chrome đến một bộ khác. –