블로그 이름

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection 본문

개발/오류

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection

Hide 2024. 9. 5. 20:19

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection

이 떴다

 

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection 에러는 클라이언트나 서버가 보안(SSL/TLS) 연결을 시도하는 동안 발생하는 예외다.

 

이 에러 메시지의 의미는 SSL/TLS 프로토콜을 사용해야 하는 상황에서 평문(Plaintext) 메시지를 받았다는 것.

 

문제의 원인이 될 수 있는 상황

  1. 잘못된 포트 사용: SSL/TLS가 적용되지 않은 포트(예: HTTP를 위한 포트 80)를 사용하려 할 때 발생할 수 있다. SSL/TLS를 적용하려면 HTTPS를 위한 포트 443을 사용해야 한다.
  2. 서버 설정 문제: 서버가 SSL/TLS 연결을 지원하지 않는데 클라이언트가 SSL/TLS 연결을 시도할 때 발생할 수 있다.
  3. 프로토콜 불일치: 클라이언트와 서버 간의 프로토콜이 일치하지 않을 때도 이 예외가 발생할 수 있다. 예를 들어, 클라이언트가 HTTPS 연결을 시도하지만 서버가 HTTP만 지원하는 경우가 이에 해당된다.

이 문제를 해결하려면 클라이언트와 서버가 올바른 프로토콜을 사용하고 있는지 확인해야 한다.

특히, 클라이언트가 SSL/TLS 연결을 시도하는 경우 서버도 동일한 SSL/TLS를 지원하고 있는지 확인해야 한다.

 

내 경우에는 서버 설정 문제였다.

서버에는 SSL 설정을 해놓고 요청을 http로 보냈다.

요청을 https로 보내도록 수정하고, 클라이언트에 SSL 설정 후 해결되었다