2017-02-03 21 views
8

Chúng tôi có trang web thương mại điện tử gọi API của chúng tôi (Web Api ngồi trên máy chủ Windows 2008 + IIS) để chuyển đơn đặt hàng từ trực tuyến sang trên hệ thống tiền đề.Cuộc gọi ngẫu nhiên Api không thành công - Yêu cầu bị hủy: Không thể tạo kênh bảo mật SSL/TLS

Api đã hoạt động tốt trong nhiều tháng nhưng hiện tại chúng tôi đang nhận được các lỗi ngẫu nhiên mà nhật ký của chúng tôi báo cáo là "Yêu cầu bị hủy: Không thể tạo kênh bảo mật SSL/TLS".

Mã sẽ hoạt động bình thường trong 24 giờ hoặc lâu hơn và sau đó không thành công, mọi cuộc gọi sau đó sẽ không thành công. Sau đó chúng tôi khởi động lại trang web thương mại điện tử (được lưu trữ trong Azure, vì vậy chúng tôi khởi động lại phiên bản). Khi trang web đã được khởi động lại, các cuộc gọi đến Api bắt đầu hoạt động trở lại.

Chúng tôi đang sử dụng Restsharp để gọi Api.

Chúng tôi đã xem xét các chứng chỉ, v.v. và những điều này có vẻ tốt (nó cũng không giải thích tại sao đôi khi nó hoạt động ok).

Vào khoảng thời gian bắt đầu thất bại, chúng tôi đã giới thiệu một plugin mới trên trang thương mại điện tử sử dụng máy khách Amazon C# để kéo đơn đặt hàng từ Amazon vào trang web Thương mại điện tử.

Các quy trình chạy trên tác vụ theo lịch mỗi giờ.

Sự cố này có thể xảy ra xung quanh một số loại bộ nhớ đệm IIS không? Có lẽ xung quanh amazon yêu cầu một phiên bản khác nhau của TLS cho Api của chúng tôi được lưu trữ trên máy chủ giành chiến thắng 2008?

+0

Chỉ cần linh cảm (đã có trước đó). Có thể plugin mới của bạn đã được đặt hoặc ghi đè cuộc gọi xác nhận lại chứng chỉ tĩnh tại một số điểm? ServicePointManager.ServerCertificateValidationCallback (https://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.servercertificatevalidationcallback(v=vs.110).aspx) –

+0

Có ai tìm ra cách giải quyết vấn đề này không? Tôi cũng nhận được vấn đề này một cách ngẫu nhiên. –

Trả lời

0

Mã sẽ hoạt động ok trong 24 giờ hoặc lâu hơn và sau đó không thành công, sau đó mọi cuộc gọi sẽ không thành công. Sau đó chúng tôi khởi động lại trang web thương mại điện tử (được lưu trữ trong Azure, vì vậy chúng tôi khởi động lại phiên bản). Khi trang web đã được khởi động lại, các cuộc gọi đến Api bắt đầu hoạt động trở lại.

Tôi nghĩ bạn gặp vấn đề với thời gian.
Bạn cần thời gian chính xác trên máy chủ/ứng dụng khách để tạo kênh bảo mật SSL/TSL.
Dường như khi bạn khởi động lại trang web của mình - thời gian được đồng bộ hóa và trong 24 giờ, nó sẽ không được đồng bộ lại vì lý do nào đó. Cố gắng nhìn vào hướng đó.

Các vấn đề liên quan