[Maven] Received fatal alert: protocol_version

Received fatal alert: protocol_version


메이븐 빌드오류


org.springframework.web.client.ResourceAccessException: I/O error: Received fatal alert: protocol_version; nested exception is javax.net.ssl.SSLException: Received fatal alert: protocol_version


원인

Maven Repository에는 https가 [TLS v1.2]로 연결이 되어야한다.

빌드를 실행했던 서버는 jdk1.7이라서 프로토콜 버전 [TLS v1.0 ~ v1.1]이 기본값으로 설정되어있다.

TLS 버전이 달라 maven repo에서 다운로드를 받지 못해 빌드오류가 발생했던 것이다.

 

해결방법

1. 메이븐 빌드 시 TLS 버전을 지정해준다.

2. Java버전을 1.8이상으로 사용한다.(최소 java 1.8)

3. JVM설정 파일에 "-Dhttps.protocols=TLSv1.2" 값을 추가해준다.

 

해당 서버에는 빌드에 실패했던 서비스외에도 다른 서비스들도 돌고 있기 때문에 2번과 3번 방법을 사용하기에는 사이드 이펙트가 있을 수 있어 1번의 방법을 사용하기로 했다.


mvn -Dhttps.protocols=TLSv1.2 clean install package