Spring,SpringBoot

에러 : Unsupported or unrecognized SSL message

Lahezy 2023. 7. 5.
728x90

결론 : http만 지원하는 서버에 https로 요청하여 발생한 문제였습니다. (URL 확인)

Unsupported or unrecognized SSL message

 

서버 (8080) 포트에서 서버 (8081) 포트로 접속을 하려고 에러가 발생했습니다.

 

8080 서버 측 서비스 코드 (테스트 코드 실행)

//service
public void postGearEntity() {
        RestTemplate restTemplate = new RestTemplate();
        String url = "https://localhost:8081/give-me-beer";

        // RestController
        BeerPostDto dto = new BeerPostDto();
        String response = restTemplate.postForObject(url, dto, String.class);
        log.info(response);
    }

//test
@Test
  public void voidPostTest() {
      beerRestService.postGearEntity();
  }

 

8080 서버 콘솔에 찍힌 에러

I/O error on POST request for "https://localhost:8081/give-me-beer": Unsupported or unrecognized SSL message
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://localhost:8081/give-me-beer": Unsupported or unrecognized SSL message

8081 서버 콘솔에 찍힌 에러 

2023-07-05T13:53:11.096+09:00  INFO 4996 --- [nio-8081-exec-3] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.

java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x03T8_0xe30xc1w0xc10x8e0xe5f0xf6|0x110x94f0xdd0x0e0xdeh0xf80xe70x8d0xc20xde0xc50xfb0xd240xdeL0xa00xbb ]. HTTP method names must be tokens
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:407) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:263) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

 

ssl 메세지를 지원하지 않는다, HTTP 헤더를 파싱하는데 에러가 발생했다와 같은 에러 메세지를 확인할 수 있습니다.

즉  HTTP를 지원하는 서버에 https로 접근해서 발생한 문제였습니다.

http로 url을 변경하니 문제 없이 동작하였습니다.

 

REFERNCES

https://wildeveloperetrain.tistory.com/64

 

SSLException: Unsupported or unrecognized SSL message

javax.net.ssl.SSLException: Unsupported or unrecognized SSL message 두 개의 REST API를 가지고 서로 요청을 주고받기 위해 RestTemplate을 사용하던 중 발생한 에러입니다. 초기 개발단계에서 하나의 REST API는 http:local

wildeveloperetrain.tistory.com

 

728x90

댓글