동료들은 최근 Java 프로그램이 다음과 같은 로그와 함께 오류를 보고했다고 보고했습니다:
원인: com.coho.cloud.data.exception.BizException: "https://itsvse:88/rest/api"에 대한 GET 요청에서 I/O 오류가 발생: 서버가 선택한 프로토콜 버전 TLS10이 클라이언트에 의해 승인되지 않음 선호도(preferences) [TLS12]; 중첩 예외는 javax.net.ssl.SSLHandshakeException입니다: 서버가 선택한 프로토콜 버전 TLS10은 클라이언트 환경설정에서 허용되지 않습니다 [TLS12] 온라인 검색을 통해 이유를 찾을 수 있습니다새 버전의 JDK가 기존 TLSV1.0 프로토콜 사용을 권장하지 않아 기본적으로 TLS10 지원이 제거되었을 수도 있습니다。
서버에 로그인하여 실행된 과거 명령을 확인하고, 다음 그림에서 보듯이 업데이트 작업이 실행되었는지 확인하세요:
JDK 버전을 확인해 보세요, 다음과 같습니다:
OpenJDK 버전 "1.8.0_292" OpenJDK 런타임 환경 (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10) OpenJDK 64비트 서버 VM (빌드 25.292-b10, 혼합 모드)
다음 명령어를 사용하여 JDK의 설치 주소와 로드된 내용을 확인하세요:
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security 파일을 찾아보세요. 이건 단순한 연동입니다. 실제 파일 주소는 /etc/java-8-openjdk/security/java.security입니다.java.security파일.
원래 구성:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ DH 키사이즈 < 1024, EC 키사이즈 < 224, 3DES_EDE_CBC, 익명, NULL, \ include jdk.disabled.namedCurves 수정안은 다음과 같습니다:
재서버하고, 자바 프로그램을 다시 실행하세요.
(끝)
|