티스토리 뷰

목차


    반응형

    클라우드플레어 오류 코드별 세부 해결 메뉴얼

    클라우드플레어(Cloudflare) 사용 시 가장 자주 접하게 되는 문제는 5xx 오류다. 520, 521, 522, 523, 524, 525, 526 등 각각의 코드마다 의미와 원인이 다르기 때문에 정확한 진단이 없으면 문제 해결이 지연될 수 있다.

    본 매뉴얼은 각 오류 코드의 트리거 원인 → 점검 순서 → 해결 방법 → 예방 전략으로 구성해 운영자가 현장에서 바로 사용할 수 있도록 정리했다.


    1. 클라우드플레어 오류 코드별 상세 원인 및 즉시 조치

    📌 1) 520 — Unknown Error

    의미: 클라우드플레어가 서버로부터 비정상적 또는 빈 응답을 받았을 때 발생.

    주 원인
    • HTTP 헤더 포맷 오류
    • 빈 응답 또는 잘린 응답
    • 서버 측 방화벽이 Cloudflare IP 차단
    • PHP/애플리케이션 fatal error
    • Keepalive 설정 오류
    해결 절차
    1. Nginx/Apache 에러 로그에서 500·timeout 여부 확인
    2. 서버 방화벽에서 Cloudflare IP 허용(모든 PoP 대역 추가)
    3. Keepalive 타임아웃 60초 전후로 조정
    4. WordPress/PHP 오류 로그 확인 후 문제 플러그인 비활성화
    예방 팁 • 서버 측 WAF에서 Cloudflare User-Agent 차단 금지 • HTTP 헤더 크기 제한 증가(Nginx: large_client_header_buffers)

    📌 2) 521 — Web Server Down

    의미: 클라우드플레어가 서버에 연결하려 했지만 포트 또는 서버가 응답하지 않았을 때.

    주 원인
    • 서버 꺼짐(다운)
    • 80/443 포트 차단
    • 방화벽 또는 Fail2Ban의 자동 차단
    • DDoS 보호 장비가 Cloudflare IP 차단
    해결 절차
    1. 서버 SSH 접속 후 웹 서버 프로세스(Nginx/Apache) 정상 여부 확인
    2. 포트 80/443 외부 접근 테스트(예: nc -zv 도메인 443)
    3. 서버 방화벽에서 Cloudflare IP 전체 허용
    4. Fail2Ban 로그에서 Cloudflare IP 차단 여부 확인
    예방 팁 • 방화벽에서 Cloudflare IP 전체 화이트리스트 등록 • 웹서버 자동 재시작 systemd 설정 적용

    📌 3) 522 — Connection Timed Out

    의미: 클라우드플레어가 서버에 연결했지만 응답이 너무 느려 타임아웃이 발생.

    주 원인
    • 서버 CPU 100% 또는 DB 응답 지연
    • PHP-FPM 워커 부족
    • 리버스 프록시 응답 제한 초과
    • 국가별 라우팅 문제
    해결 절차
    1. 서버 CPU·메모리 상태 확인(top, htop)
    2. PHP-FPM pm.max_children 증가
    3. Nginx proxy_read_timeout 120초 이상으로 조정
    4. DB slow query log 점검
    5. Cloudflare 네트워크 라우팅 테스트(cf-trace)
    예방 팁 • 캐시율 80% 이상 유지 • DB 인덱스 최적화 • 정적 리소스는 무조건 캐싱

    📌 4) 523 — Origin Unreachable

    의미: DNS 또는 네트워크 경로 문제로 서버 위치를 찾지 못함.

    주 원인
    • 잘못된 IP로 A레코드 설정
    • 도메인 DNS 전파 미완료
    • ISP 라우팅 문제
    • Cloudflare → 서버 간 네트워크 장애
    해결 절차
    1. A레코드 IP 정확한지 재확인
    2. nslookup/dig로 DNS 응답 비교
    3. 네임서버 변경 24시간 내라면 전파 지연 대기
    4. 서버 제공사 측 네트워크 경로 확인
    예방 팁 • DNS TTL 5분~30분 유지 • 이중 DNS 구성(Cloudflare + Secondary)

    📌 5) 524 — Timeout Occurred

    의미: 서버가 요청을 받았지만 지정 시간 내 처리를 완료하지 못함.

    주 원인
    • 무거운 DB 쿼리
    • 대용량 파일 처리
    • PHP 수행시간 부족
    • 서버 IO 병목
    해결 절차
    1. 서버 slow query log 분석
    2. PHP max_execution_time 증가
    3. 워드프레스·쇼핑몰의 과부하 플러그인 점검
    4. 백엔드 API 지연 시간 모니터링
    예방 팁 • 백업/배치 작업은 API 경로와 분리 • 캐시 정책 세분화(페이지 Rule)

    📌 6) 525 — SSL Handshake Failed

    의미: 클라우드플레어와 서버 간 SSL 핸드셰이크 실패.

    주 원인
    • 서버 SSL 인증서 만료
    • Origin Cert 미설치
    • SSL 모드 Flexible 사용(충돌 발생)
    해결 절차
    1. 서버 SSL 인증서 유효기간 확인
    2. Cloudflare Origin Certificate 재발급 후 설치
    3. SSL 모드를 Full 또는 Full(Strict)로 변경
    예방 팁 • 인증서 자동 갱신(cron) 적용 • Flexible SSL은 절대 사용하지 않기

    📌 7) 526 — Invalid SSL Certificate

    의미: 서버 SSL 인증서가 신뢰되지 않거나 도메인 불일치.

    주 원인
    • 인증서 CN/SAN 불일치
    • 만료된 인증서
    • 자체 서명 인증서 사용(Full Strict 불가)
    해결 절차
    1. 인증서 도메인 일치 여부 점검
    2. Let’s Encrypt 또는 Origin Cert 재설치
    3. Full 모드로 임시 변경하여 접속 유지
    예방 팁 • SAN에 모든 서브도메인 포함 • 인증서 파일 권한 정상 설정(600~640)

    2. 오류 코드별 공통 점검 순서(장애 발생 시 즉시 적용)

    오류가 어떤 코드든, 아래 5단계 점검을 따르면 대부분 원인을 빠르게 좁힐 수 있다.

    1. 서버 상태 확인(CPU, RAM, 웹 서버, DB)
    2. DNS A레코드·네임서버·전파 상태 점검
    3. SSL 모드 + 인증서 유효성 검사
    4. 방화벽/보안 로그에서 Cloudflare IP 차단 여부 확인
    5. 라우팅/네트워크 경로 테스트(cf-trace)

    특히 SSL 비정합, 서버 응답 지연, DNS 오류는 대부분의 접속 장애의 근본 원인이다.


    3. 장애를 줄이는 환경 설정(장기적인 구조 개선)

    • 정적 리소스 캐싱 80~90% 유지
    • SSL Full(Strict) + Origin Cert 표준 적용
    • 서버 Keepalive 안정화(Nginx 60초 전후)
    • PHP-FPM 워커 부족 문제 상시 점검
    • DB 인덱스 관리 및 캐시 레이어 도입(Redis)
    • Cloudflare WAF Rule 과잉 적용 금지

    이 조합을 유지하면 5xx 오류 발생 확률이 70% 이상 감소한다.


    4. 실전 운영 팁 & FAQ

    운영 팁

    1. 장애 발생 시 오류 코드 캡처 → 로그 확인 → SSL·DNS 순서로 점검
    2. 서버 부하가 보이면 즉시 캐시 비율 확인
    3. 네임서버 변경 후 최소 30분은 전파 대기
    4. 일시적 과부하 시 ‘Development Mode’로 캐시 무력화해 내용 점검
    5. 봇 공격 시 Rate Limit 대신 로그 기반 맞춤 규칙 적용

    FAQ

    Cloudflare 오류가 특정 지역에서만 발생할 수 있나요?

    네. PoP 간 로드 밸런싱 또는 국가별 라우팅 문제로 특정 지역에서만 발생 가능하다.

    522와 524의 차이는?

    522는 서버 응답이 아예 없을 때, 524는 응답은 있지만 너무 느릴 때 발생한다.

    Flexible SSL은 언제 사용하나요?

    사용하지 않는 것이 원칙이다. Full 또는 Full(Strict)이 기본이다.


    5. 마무리: 장애 대응은 ‘패턴 이해’가 핵심

    클라우드플레어 오류는 각각의 코드마다 원인이 다르지만, 기본적으로 서버 상태 → DNS → SSL → 방화벽 → 라우팅 순서로 점검하면 대부분의 장애는 빠르게 복구할 수 있다.

    오류가 반복된다면 서버 구조와 캐시 전략을 재점검하여 장기적인 안정성을 확보하는 것이 중요하다.

    반응형