☁️ 새로 연동하는 협력사와 통신이 안 됐다
우리 회사는 커머스 플랫폼이라
협력사와의 API 연동 작업이 일상이다.
이건 내가 직접 처리한 건 아니고
우리팀에서 실제로 겪었던 실무 이슈다.
그날도 새로 들어온 협력사와
이미지 API 연동 작업을 진행하고 있었는데…
“이미지 API 요청 자체가 실패합니다.”
다른 협력사들은 아무 문제 없이 잘 되는데
유독 이 새 협력사만 통신이 안 됐다.
우리는 당연히 로그부터 확인했고
파고 또 파고… 그러다 딱 하나가 의심됐다.
“이거 TLS 버전 문제 아니야?”
🔍 우리는 JDK 1.7 , TLS는 1.0/1.1만 지원
우리 시스템은 아주 건강한(?) 레거시다.
현재까지도 Java 1.7을 쓰고 있었고
그 말은 곧 지원 가능한 TLS 버전은 1.0 또는 1.1이라는 뜻.
그런데 해당 협력사는
AWS 이미지 서버를 사용 중이었다.
😐 협력사에서 온 답변은 단 하나였다
“저희는 AWS를 사용하고 있어서
하위 TLS 버전은 지원이 어렵습니다.”
끝.
딱히 기술적 이유나 대안은 없었다.
🧠 그래서 AWS 엔지니어 친구한테 물어봤다
내가 너무 답답해서
친한 AWS 엔지니어 친구에게 직접 물어봤다.
“야, 진짜 AWS는 TLS 1.1도 안 되냐?”
그 친구의 말:
“맞아. AWS는 TLS 1.0 / 1.1은 EOS(지원 종료) 때렸어.
지금은 TLS 1.2 이상만 기본적으로 허용돼.”
그런데 여기서 중요한 말이 하나 더 나왔다:
“근데 그거 완전 차단은 아냐.
일부 서비스는 설정에 따라 1.0 / 1.1도 쓸 수는 있어.”
“그러니까 반은 진짜고, 반은 귀찮아서 안 해주는 걸 수도 있어.
TLS 낮췄다가 보안 사고 나면 누가 책임질 거야?
나라도 그냥 안 내려줬을 듯.”
즉,
기술적으로 가능하더라도
정책상, 혹은 책임 회피성으로
“지원 못 합니다”라고 단답하는 경우도 있다는 것.
🔧 결국, 우리 팀이 바꿨다
협력사 쪽에선 TLS 버전 하향이 어렵다는 입장이었고
우리 시스템은 Java 1.7이었기 때문에 TLS 1.2를 지원하지 않았다.
그래서 결국 우리 팀에서 JDK를 1.8로 업그레이드하기로 결정했다.
물론 단순히 버전만 바꾸는 게 아니다.
- 테스트 환경까지 싹 점검
- 라이브러리 버전 호환 확인
- 운영 반영 및 배포 프로세스 조정
쉽지 않았지만, 해야만 했다.
보안도 중요하고, 협력사와 통신되는 게 더 중요했으니까.
✅ 정리하며
이번 일을 겪은 우리 팀은
“통신이 안 될 땐 TLS부터 의심하자”는 교훈을 확실히 얻었다.
특히 레거시 환경을 운영 중이라면
TLS 버전과 JDK 버전을 항상 인지하고 있어야 한다.
🎯 실무 핵심 요약
- Java 1.7 → TLS 1.2 지원 불가
- AWS → TLS 1.2 이상만 기본 허용
- 협력사 → “내려줄 수 없음” (응. 안 해줌)
- 해결책 → JDK 1.8 업그레이드로 TLS 1.2 대응
그리고 이건 단순한 기술 이슈가 아니었다.
우리 시스템 구조에 대한 인식을 바꾼 계기이기도 했다.
'트러블슈팅' 카테고리의 다른 글
캐시는 빠르다! 근데 터지면 진짜 다 같이 죽는다! (0) | 2025.04.24 |
---|---|
[트러블슈팅] DB 세션이란? 롱 아이들 세션이 쌓이면 생기는 진짜 문제 (0) | 2025.04.21 |