인증서 교체 후 일부 클라이언트만 실패
만료가 다가온 인증서를 교체한 지 18분. 웹사이트는 멀쩡한데 안드로이드 앱과 파트너사 서버 연동만 연결에 실패합니다. 브라우저 자물쇠는 정상입니다 — 무엇이 다른 걸까요?
PAGE · 10:20 KST
TLS 연결 실패 10%웹·iOS 정상
상황
당신은 이번 주 보안·인프라 온콜입니다. 10:02 플랫폼팀이 만료 3일 남은 api.shop.example 인증서를 새것으로 교체했습니다(엣지 nginx 4대). 10:14부터 파트너사 두 곳의 '연동이 안 된다'는 문의와 안드로이드 앱 오류 리포트가 쏟아졌지만, 웹사이트와 iOS 앱은 멀쩡합니다. 파트너 정산 연동은 11:00 마감입니다.
명령은 선택지로 고릅니다. 행동할 때마다 가상 시간이 흐르고, 결과는 그 순간의 서버 상태에 따라 달라집니다. 되돌리기 어려운 조치는 한 번 더 묻습니다.
목표
- 실패하는 클라이언트의 연결을 되살린다(완화)
- 왜 일부 클라이언트만 실패하는지 밝힌다
- 새 인증서를 안전하게 다시 배포한다
- 지표를 확인하고 해결을 선언한다
다루는 기술
서버가 실제로 보내는 인증서 체인 확인(openssl s_client)클라이언트별로 영향 범위 나누기fullchain 구성 순서nginx -t와 한 대씩 반영하는 안전한 재배포
결과는 서버가 판정합니다. 원인과 모범 경로는 끝난 뒤에 보입니다.
진행 방식
- 선택지로 행동관찰·조치·소통 중에서 고릅니다. 각 행동에는 실제 명령과 가상 소요 시간이 붙어 있습니다.
- 행동할 때만 흐르는 시계읽고 생각하는 시간은 공짜입니다. 대신 행동마다 시간이 들고, 그 사이에도 에러와 영향은 쌓입니다.
- 가설 보드지금 생각하는 원인을 하나 고정하고 근거를 한 줄 남깁니다. 근거가 된 관찰 뒤에 세운 가설이 점수를 받습니다.
- 위험한 조치는 확인되돌리기 어려운 조치는 실행 전에 한 번 더 묻습니다. 효과 없이 위험만 큰 조치는 안전 점수가 깎입니다.
- 해결 선언과 회고지표가 정상일 때만 해결됩니다. 선언 뒤 재발 방지 항목을 고르면 디브리프가 열립니다.
- 100점 + 회고 보너스진단 30 · 완화 25 · 안전 20 · 확인 15 · 소통 10, 회고 +5. 등급 S·A·B·C·D.