18강 / 20강
실제로 겪는 함정 여덟 가지
증상 → 원인 → 확인할 한 줄
여기까지가 정상 경로였습니다. 이제 어긋났을 때 이야기입니다.
아래 여덟 가지가 실무에서 반복해서 나옵니다. 증상만 보고 원인을 짚을 수 있게 되면 대부분의 장애는 몇 분 안에 끝납니다.
| 증상 | 원인 | 확인 |
|---|---|---|
| ERR_TOO_MANY_REDIRECTS | Flexible + 서버의 https 리다이렉트 | SSL 모드를 Full (strict) 로 |
| 바꿨는데 옛 주소 | 옛 TTL 이 아직 안 끝났다 | dig +noall +answer 로 남은 TTL |
| 사이트 전체가 죽었다 | 도메인 만료 또는 네임서버 오설정 | whois 의 만료일 · dig NS |
| 엉뚱한 사이트가 뜬다 | server_name 이 안 맞아 기본 서버로 갔다 | nginx -T | grep server_name |
| 로그의 접속자가 전부 같은 IP | 프록시 뒤라 클라우드플레어 IP 가 찍힌다 | CF-Connecting-IP 헤더를 쓰도록 |
| 인증서 경고 | 오리진 인증서인데 프록시가 꺼져 있다 | 구름을 주황으로 |
| 502 Bad Gateway | 뒤쪽 앱이 죽었거나 포트가 틀렸다 | curl localhost:<포트>/healthz |
| 터널만 죽었다 | cloudflared 서비스가 멈췄다 | systemctl status cloudflared |
값을 바꿔 가며 눌러 보세요. 이 순서가 시간을 가장 많이 아낍니다.
Python
브라우저에서 실행
🤔 확인 문제
사이트가 502 Bad Gateway 를 냅니다. nginx 는 살아 있습니다. 다음에 볼 것은?
해설 502 는 nginx 가 뒤쪽에 물었는데 답이 없다는 뜻입니다.
curl localhost:<포트> 로 앱이 살아 있는지부터 봅니다.