Đây có thể là một cú sút xa, nhưng tôi hy vọng ai đó ở đây có thể giúp tôi. Tôi có một ứng dụng java chạy trên phụ trợ jboss trong máy chủ linux debian. Thông tin liên lạc đến được định tuyến đến phụ trợ chính xác bằng haproxy trên máy chủ khác.
Một trong những công việc của ứng dụng là cung cấp thông tin lô hàng cho người dùng. Dịch vụ này thực hiện việc này bằng cách gửi yêu cầu POST tới API bên thứ ba do UPS cung cấp (https://www.ups.com/us/en/services/technology-integration/online-tools-tracking.page?) và hiển thị kết quả. Gần đây, tính năng theo dõi trong ứng dụng của chúng tôi bắt đầu phát sinh lỗi. Đi sâu vào nhật ký cho ứng dụng của chúng tôi, tôi thấy điều này:
28-10-2021 10:00:00,142 LỖI [STDERR] Nguyên nhân: javax.net.ssl.SSLHandshakeException: Nhận được cảnh báo nghiêm trọng: handshake_failure
28-10-2021 10:00:00,142 LỖI [STDERR] tại sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
28-10-2021 10:00:00,142 LỖI [STDERR] tại sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
28-10-2021 10:00:00,142 LỖI [STDERR] tại sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
28-10-2021 10:00:00,142 LỖI [STDERR] tại sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
28-10-2021 10:00:00,142 LỖI [STDERR] tại sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
28-10-2021 10:00:00,142 LỖI [STDERR] tại sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
28-10-2021 10:00:00,142 LỖI [STDERR] tại sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
28-10-2021 10:00:00,142 LỖI [STDERR] tại java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
28-10-2021 10:00:00,142 LỖI [STDERR] tại java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
28-10-2021 10:00:00,142 LỖI [STDERR] tại org.apache.commons.httpclient.methods.StringRequestEntity.writeRequest(Nguồn không xác định)
28-10-2021 10:00:00,142 LỖI [STDERR] tại org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(Không rõ nguồn gốc)
28-10-2021 10:00:00,142 LỖI [STDERR] tại org.apache.commons.httpclient.HttpMethodBase.writeRequest(Nguồn không xác định)
28-10-2021 10:00:00,142 LỖI [STDERR] tại org.apache.commons.httpclient.HttpMethodBase.execute(Không rõ nguồn gốc)
28-10-2021 10:00:00,142 LỖI [STDERR] tại org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Nguồn không xác định)
28-10-2021 10:00:00,142 LỖI [STDERR] tại org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Không rõ nguồn gốc)
28-10-2021 10:00:00,143 LỖI [STDERR] tại org.apache.commons.httpclient.HttpClient.executeMethod(Không rõ nguồn gốc)
28-10-2021 10:00:00,143 LỖI [STDERR] tại org.apache.commons.httpclient.HttpClient.executeMethod(Không rõ nguồn gốc)
Từ những gì tôi có thể nói, đây là sự cố với yêu cầu ssl. Vì một số lý do, ứng dụng của chúng tôi từ chối phản hồi từ API là không an toàn. Thật không may, tôi hơi lạc lõng không biết phải làm gì để thực sự sửa lỗi này. Làm cách nào để xác định chính xác nơi xảy ra sự cố? Làm cách nào để biết tôi cần thực hiện những thay đổi nào trên ứng dụng và/hoặc máy chủ proxy của mình để liên lạc hoạt động giữa ứng dụng của tôi và API bên ngoài?