S-ar putea să fie un pic cam lung, dar sper că cineva de aici mă poate ajuta. Am o aplicație java care rulează pe un backend jboss pe un server debian linux. Comunicațiile de intrare sunt direcționate către backend-ul corect prin haproxy pe alt server.
Una dintre sarcinile aplicației este de a furniza informații despre expediere utilizatorului. Face acest lucru trimițând o solicitare POST către o terță parte API furnizată de UPS (https://www.ups.com/us/en/services/technology-integration/online-tools-tracking.page?) și afișarea rezultatelor. Recent, funcția de urmărire din aplicația noastră a început să arunce erori. Săpând în jurnalele pentru aplicația noastră, am găsit asta:
2021-10-28 10:00:00,142 EROARE [STDERR] Cauzată de: javax.net.ssl.SSLHandshakeException: Alertă fatală primită: handshake_failure
2021-10-28 10:00:00,142 EROARE [STDERR] la sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
2021-10-28 10:00:00,142 EROARE [STDERR] la sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
2021-10-28 10:00:00,142 EROARE [STDERR] la sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
2021-10-28 10:00:00,142 EROARE [STDERR] la sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
2021-10-28 10:00:00,142 EROARE [STDERR] la sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
2021-10-28 10:00:00,142 EROARE [STDERR] la sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
2021-10-28 10:00:00,142 EROARE [STDERR] la sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
2021-10-28 10:00:00,142 EROARE [STDERR] la java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
2021-10-28 10:00:00,142 EROARE [STDERR] la java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
2021-10-28 10:00:00,142 EROARE [STDERR] la org.apache.commons.httpclient.methods.StringRequestEntity.writeRequest(Sursa necunoscută)
2021-10-28 10:00:00,142 EROARE [STDERR] la org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(Sursă necunoscută)
2021-10-28 10:00:00,142 EROARE [STDERR] la org.apache.commons.httpclient.HttpMethodBase.writeRequest(Sursă necunoscută)
2021-10-28 10:00:00,142 EROARE [STDERR] la org.apache.commons.httpclient.HttpMethodBase.execute(Sursă necunoscută)
2021-10-28 10:00:00,142 EROARE [STDERR] la org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Sursă necunoscută)
2021-10-28 10:00:00,142 EROARE [STDERR] la org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Sursă necunoscută)
2021-10-28 10:00:00,143 EROARE [STDERR] la org.apache.commons.httpclient.HttpClient.executeMethod(Sursa necunoscută)
2021-10-28 10:00:00,143 EROARE [STDERR] la org.apache.commons.httpclient.HttpClient.executeMethod(Sursa necunoscută)
Din câte îmi dau seama, aceasta este o problemă cu solicitarea ssl. Din anumite motive, aplicația noastră respinge răspunsul de la API ca nesigur. Din păcate, nu știu ce să fac pentru a remedia problema. Cum pot determina exact unde se întâmplă eșecul? Cum îmi dau seama ce modificări trebuie să fac aplicației mele și/sau serverului proxy pentru ca comunicarea să funcționeze între aplicația mea și API-ul extern?