곽로그
Tomcat7 에서 Tomcat9 으로 본문
계기
HTTP고객사 중에서 데이터 전송시 Received fatal alert: protocol_version 에러가 발생하는 고객사가 있었다. 고객사에서 서버에 akamai 를 적용했다고 했고(이게 뭔지는 아직도 잘 모르겠다. 보안 관련 사항인 것 같은데 정확이 뭔지는 모르겠다.) 이 akamai를 끄면 송수신이 정상인데 키면 위와 같은 에러가 났다.
원인
처음에는 고객사에서 TLS버전이 1.1이어서 이상이 있다고 했다. 하지만 was에 적용된 tls 버전은 1.1, 1.2 이었어서 tls 관련 문제는 아닌 것으로 생각했다. (tls도 정확이 뭔지 잘 모르겠다 ㅠㅠ) 확인 했던 방법은 openssl s_client -connect (회사서버아이피) -tls1_2
그런 다음 고객사아이피로 위의 명령어를 적용해보니, akamai가 적용된 서버에서는
위와 같은 에러가 났고, akamai가 적용되지 않는 서버는 정상적으로 hand-shake가 되었다.
그리하여 결론은, akamai가 적용된 서버와 통신하기 위해서는 서버가 SNI를 지원해야하는데, tomcat7은 sni를 지원하지 않아서 발생한 에러였다. (sni도 공부해야겠다)
해결
그래서 운영 was의 tomcat버전을 7에서 9로 올려야했다. 위의 작업을 하면서 했던 삽질들을 기록해둔다.
1) start.up을 하니까 로그가 한글로 찍히는데, 깨진다
문제 : 파일인코딩을 utf-8 로 하면 톰캣로그는 잘찍히는데 어플리케이션 로그가 깨졌다.
해결 : /bin/setenv.sh 에 파일인코딩은 빼고 언어설정만 했다.
2) port
AS-IS의 포트를 확인해야 한다. 관련 설정은 /bin/server.xml
3) 9으로 올려도 운영에 영향이 없는 걸까
이게 제일 걱정이었다. was를 잘 모르니까 혹시나 설정을 잘못하거나 뺴먹은건 없는지, 그것때문에 장애가 발생하는 건 아닌지 불안했다.
이때 참고했던 블로그들
https://isabeller.tistory.com/23
https://new-hero.tistory.com/28
* 많이 아는 만큼 불안감도 덜하고 일처리도 빠르게 되는 것 같다. 많이 알아야 한다.
'문제해결' 카테고리의 다른 글
[python] ModuleNotFoundError: No module named 'PyQt5' (0) | 2022.04.11 |
---|---|
[Springboot] h2 생성 후 database not found (0) | 2021.03.22 |
회사에서 만난 에러들(~2021.02.24) (0) | 2021.02.24 |
맥에서 vscode 터미널의 폰트 깨지는 현상 (0) | 2021.01.12 |
[JSP] javax.el.PropertyNotFoundException (0) | 2020.11.17 |